implementation 'com.google.android.exoplayer:exoplayer:2.X.X'
// 创建ExoPlayer对象
SimpleExoPlayer exoPlayer = new SimpleExoPlayer.Builder(context).build();
// 创建MediaSource对象
DefaultDataSourceFactory dataSourceFactory = new DefaultDataSourceFactory(context,
Util.getUserAgent(context, "YourApplicationName"));
Uri uri = Uri.parse("file:///storage/emulated/0/YourVideo.mp4"); // 指定SD卡路径
MediaSource mediaSource = new ProgressiveMediaSource.Factory(dataSourceFactory)
.createMediaSource(uri);
// 设置播放资源
exoPlayer.prepare(mediaSource);
@Override
protected void onStart() {
super.onStart();
exoPlayer.setPlayWhenReady(true); // 开始播放
}
@Override
protected void onStop() {
super.onStop();
exoPlayer.stop(true); // 停止播放
}
以上代码示例演示了从SD卡播放视频的方式。如果需要从Raw目录播放视频,可以将uri
对象的初始化代码改为:
Uri uri = Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.your_video); // 指定Raw目录下的视频资源
需要注意的是,在播放视频之前,需要获得系统的读写SD卡权限或者将视频资源复制到应用的私有目录中。