一、基本介紹
Android提供了一個叫做VideoView的視圖類,用於在Android應用程序中播放視頻。它可以播放不同格式的視頻文件,如MP4、3GP等。VideoView並沒有包含任何的進度條和播放控制等,這些都需要我們自己在界面上進行實現。
二、使用方法
VideoView的使用非常簡單,只需要在布局文件中添加VideoView即可:
<VideoView
android:id="@+id/video_view"
android:layout_width="match_parent"
android:layout_height="match_parent" />
然後在Activity中找到VideoView並設置要播放的視頻文件:
VideoView mVideoView = (VideoView) findViewById(R.id.video_view);
mVideoView.setVideoURI(Uri.parse("http://example.com/video.mp4"));
mVideoView.start();
以上代碼中,我們使用setVideoURI方法設置要播放的視頻文件的URI,然後調用start方法開始播放視頻。
三、其他常用方法
除了上述介紹的基本使用方法外,還有一些其他常用方法:
1. 暫停和繼續
通過VideoView的pause方法可以暫停視頻播放,通過start方法可以繼續播放。
//暫停
mVideoView.pause();
//繼續
mVideoView.start();
2. 拖動進度條
通過seekTo方法可以將視頻跳轉至指定位置,單位是毫秒。比如我們要將視頻跳轉到第30秒的位置:
mVideoView.seekTo(30000);
3. 視頻完成後的操作
通過VideoView的setOnCompletionListener方法可以監聽視頻播放完成的事件,我們可以在此時做一些相關的操作,比如重新播放視頻。
mVideoView.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
//重新播放
mVideoView.start();
}
});
四、注意事項
視頻的大小和碼率等因素會對視頻播放的流暢度產生影響,如果視頻太大或者碼率太高,可能會出現卡頓等情況。同時,視頻資源應該存放在正確的位置,確保VideoView可以通過URI獲取到視頻資源。
五、代碼示例
下面是一個完整的示例代碼:
public class MainActivity extends AppCompatActivity {
private VideoView mVideoView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mVideoView = (VideoView) findViewById(R.id.video_view);
mVideoView.setVideoURI(Uri.parse("http://example.com/video.mp4"));
mVideoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
mVideoView.start();
}
});
mVideoView.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
mVideoView.start();
}
});
}
@Override
protected void onPause() {
super.onPause();
mVideoView.pause();
}
@Override
protected void onResume() {
super.onResume();
mVideoView.start();
}
}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/204266.html