您的位置:

Android VideoView实现视频播放

Android VideoView实现视频播放

更新:

一、说明

VideoView是一个Android平台上的视屏播放组件,它封装了MediaPlayer、SurfaceView等类,提供了比较简单的视频播放控制功能。通过VideoView,可以实现在线视频播放、本地视频播放等。

VideoView提供了一些常用的视频播放控制函数,如play()、pause()等,同时也可以设置一些显示属性,如大小、位置等。

二、实现步骤

1、将VideoView控件放到布局文件中

在layout文件夹下的布局文件中添加VideoView控件,例如:

    <VideoView
        android:id="@+id/videoView"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

2、设置MediaController控制器

MediaController是一个包含常规播放控件的对象,例如播放、暂停、快进、后退等。要显示一个MediaController对象,需要将其附加到VideoView中。在代码中,调用setMediaController()方法将其附加到VideoView中:

    MediaController mediaController = new MediaController(this);
    videoView.setMediaController(mediaController);
    mediaController.setAnchorView(videoView);

3、加载视频

加载视频需要设置视频的路径,可以是本地路径或者网络路径,通过调用setVideoPath()方法来设置:

    String videoPath = "http://www.example.com/sample.mp4";
    videoView.setVideoPath(videoPath);

4、播放视频

调用start()方法开始播放视频:

    videoView.start();

5、监听视频状态

可以为VideoView添加一个OnCompletionListener监听器,该监听器可以在视频播放完成后执行一些操作。例如:

    videoView.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
        @Override
        public void onCompletion(MediaPlayer mediaPlayer) {
            //播放完成后的操作
        }
    });

三、示例代码

以下是一个基本的VideoView的实现,包括加载本地视频、网络视频、添加MediaController、添加监听器。

public class MainActivity extends AppCompatActivity {

    private VideoView videoView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        //获取VideoView对象
        videoView = findViewById(R.id.videoView);

        //从资源文件加载本地视频
        String videoPath = "android.resource://" + getPackageName() + "/" + R.raw.sample;

        //从网络加载视频
        //String videoPath = "http://www.example.com/sample.mp4";

        //设置视频路径
        videoView.setVideoPath(videoPath);

        //添加MediaController
        MediaController mediaController = new MediaController(this);
        videoView.setMediaController(mediaController);
        mediaController.setAnchorView(videoView);

        //开始播放视频
        videoView.start();

        //添加视频播放完成后的监听器
        videoView.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
            @Override
            public void onCompletion(MediaPlayer mediaPlayer) {
                //播放完成后的操作
            }
        });
    }
}
Android VideoView实现视频播放

一、说明 VideoView是一个Android平台上的视屏播放组件,它封装了MediaPlayer、SurfaceView等类,提供了比较简单的视频播放控制功能。通过VideoView,可以实现在线

2023-12-08
Android VideoView实现视频播放

一、说明 VideoView是一个Android平台上的视屏播放组件,它封装了MediaPlayer、SurfaceView等类,提供了比较简单的视频播放控制功能。通过VideoView,可以实现在线

2023-12-08
Android VideoView播放网络视频

2023-05-19
使用Python在Android设备上播放视频

2023-05-14
提升沉浸式体验——为Android VR优化360度视频播放

随着虚拟现实技术越来越普及,VR设备开始进入消费者视野,并受到越来越多的关注。在VR应用中,360度视频是其中最具代表性的应用场景之一,而如何为Android VR优化360度视频播放则是开发人员需要

2023-12-08
Android播放器开发详解

2023-05-18
Android应用实现多媒体功能的技巧

2023-05-14
使用Android ExoPlayer实现高质量视频播放体验

一、介绍 随着移动端技术的不断发展,视频成为了用户越来越重要的需求之一。而在Android平台上,ExoPlayer是Google推出的一款强大的多媒体播放器,能够实现高质量、流畅的视频播放体验,并且

2023-12-08
Android VLC:高效的视频播放器

2023-05-14
Android TextureView实现视频播放的方法

2023-05-14
使用Python实现Android音频播放功能

一、Android音频播放功能简介 在Android上播放音频是很常见的需求,可以用于音乐播放器、游戏声音效果、语音播报等场景。Android平台本身提供了MediaPlayer来进行音频播放,但是M

2023-12-08
打造极致流畅的android视频播放体验

2023-05-14
Android 5.0:提高用户体验的核心优化之一

一、Material Design带来的视觉改进 Android 5.0推出了Google的设计语言——Material Design,它在界面设计、交互体验以及动画效果都达到了更高的境界,从而提高了

2023-12-08
Android Audio:如何实现流畅的音频播放

音频处理是移动应用中重要但容易被忽视的部分。一个高效、流畅的音频播放可以为用户提供更好的体验,也能让应用获得更高的评分和好评。本文将从多个方面介绍如何在Android应用中实现流畅的音频播放。 一、选

2023-12-08
用videojs播放m3u8格式视频实现网站视频播放

2023-05-19
Vitamio多媒体解决方案

2023-05-20
Android音视频播放神器:VLC

2023-05-14
js和web视频(视频播放js)

本文目录一览: 1、基于webrtc以及nodejs的P2P实时视频demo 2、webrtc.js 是什么 3、vediojs嵌入到web项目中的问题 4、webview 与js怎样实现数据交互 5

2023-12-08
用Python为Android应用实现实时视频直播功能

2023-05-14
使用Python为Android应用添加网络视频播放功能

2023-05-14