Android 视频 自定义进度条 暂停播放键
时间: 2023-10-04 11:13:45 浏览: 107
如果您想要实现自定义的视频播放进度条和暂停/播放按钮,可以按照以下步骤进行:
1. 在布局文件中添加 VideoView、SeekBar 和暂停/播放按钮:
```
<VideoView
android:id="@+id/video_view"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<SeekBar
android:id="@+id/seek_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<Button
android:id="@+id/play_pause_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Pause" />
```
2. 在 Activity 中获取 VideoView、SeekBar 和暂停/播放按钮的引用:
```
VideoView videoView = findViewById(R.id.video_view);
SeekBar seekBar = findViewById(R.id.seek_bar);
Button playPauseButton = findViewById(R.id.play_pause_button);
```
3. 设置 VideoView 的路径并开始播放:
```
videoView.setVideoPath("path/to/video.mp4");
videoView.start();
```
4. 为 VideoView 添加一个 OnPreparedListener,当视频准备好时,设置 SeekBar 的最大值和添加一个定时器来更新 SeekBar 的进度:
```
videoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
seekBar.setMax(videoView.getDuration());
final Handler handler = new Handler();
Runnable runnable = new Runnable() {
@Override
public void run() {
seekBar.setProgress(videoView.getCurrentPosition());
handler.postDelayed(this, 1000);
}
};
handler.postDelayed(runnable, 1000);
}
});
```
5. 为 SeekBar 添加一个 OnSeekBarChangeListener,当拖动 SeekBar 时,改变视频播放的位置:
```
seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
if (fromUser) {
videoView.seekTo(progress);
}
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {}
});
```
6. 为暂停/播放按钮添加一个 OnClickListener,当点击按钮时,暂停或继续播放视频:
```
playPauseButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (videoView.isPlaying()) {
videoView.pause();
playPauseButton.setText("Play");
} else {
videoView.start();
playPauseButton.setText("Pause");
}
}
});
```
7. 为 VideoView 添加一个 OnCompletionListener,当视频播放完成时,将暂停/播放按钮的文本设置为“Play”:
```
videoView.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
playPauseButton.setText("Play");
}
});
```
以上就是实现自定义视频播放进度条和暂停/播放按钮的方法。您可以根据您的需求自定义 SeekBar 的样式和暂停/播放按钮的图标。
阅读全文