溫馨提示×

android videoview如何控制播放進度

小樊
152
2024-11-18 20:25:26
欄目: 編程語言

在Android中,你可以使用VideoView的seekTo()方法來控制播放進度。以下是一個簡單的示例:

  1. 首先,在你的布局文件中添加一個VideoView:
<VideoView
    android:id="@+id/videoView"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" />
  1. 然后,在你的Activity或Fragment中,初始化VideoView并設置視頻源:
import android.net.Uri;
import android.widget.MediaController;
import android.widget.VideoView;

public class MainActivity extends AppCompatActivity {

    private VideoView videoView;

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

        videoView = findViewById(R.id.videoView);

        // 設置視頻源
        Uri videoUri = Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.your_video_file);
        videoView.setVideoURI(videoUri);

        // 添加媒體控制器以便于控制播放進度
        MediaController mediaController = new MediaController(this);
        videoView.setMediaController(mediaController);
        mediaController.setAnchorView(videoView);

        // 開始播放視頻
        videoView.start();
    }
}
  1. 為了控制播放進度,你需要監聽視頻播放的時間軸。你可以通過設置一個OnSeekBarChangeListener來實現這個功能:
import android.widget.SeekBar;

// ...

public class MainActivity extends AppCompatActivity {

    // ...

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // ...

        // 創建一個SeekBar來顯示視頻播放進度
        SeekBar seekBar = findViewById(R.id.seekBar);
        videoView.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
            @Override
            public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
                // 當用戶拖動SeekBar時,更新視頻播放進度
                if (fromUser) {
                    videoView.seekTo(progress);
                }
            }

            @Override
            public void onStartTrackingTouch(SeekBar seekBar) {
                // 不需要實現此方法
            }

            @Override
            public void onStopTrackingTouch(SeekBar seekBar) {
                // 不需要實現此方法
            }
        });
    }
}
  1. 最后,確保你的布局文件中有一個SeekBar:
<SeekBar
    android:id="@+id/seekBar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" />

現在,你可以通過拖動SeekBar來控制VideoView的播放進度了。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女