您好,前天我遇到了同样的问题,几乎尝试了所有方法,但没有成功。之后我使用了这个库,它工作正常。只需几步:
第 1 步。 将其添加到您的 gradle 中
compile "fm.jiecao:jiecaovideoplayer:4.7.0"
Step2.将其添加为您在 xml 布局中播放的视频。
<fm.jiecao.jcvideoplayer_lib.JCVideoPlayerStandard
android:id="@+id/videoPlayer"
android:layout_width="match_parent"
android:layout_height="match_parent" />
第 3 步。 从这里查看如何在您的班级中使用此库,
public class PlayVideoActivity extends BaseActivity {
@BindView(R.id.videoPlayer)
JCVideoPlayerStandard mVideoPlayer;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
restoreFromIntent(getIntent());
}
@Override
public int getLayout() {
return R.layout.activity_play_video;
}
//create intent for this activity with all the necessary params
public static Intent createIntent(Context context, String videoUrl) {
Intent intent = new Intent(context, PlayVideoActivity.class);
intent.putExtra(ValueConstants.VIDEO_URL, videoUrl);
return intent;
}
// get video path from intent and play the video here
private void restoreFromIntent(Intent intent) {
String videoPath = intent.getExtras().getString(ValueConstants.VIDEO_URL);
mVideoPlayer.setUp(videoPath
, JCVideoPlayerStandard.SCREEN_LAYOUT_LIST, "");
}
@Override
public void onBackPressed() {
if (JCVideoPlayer.backPress()) {
return;
}
super.onBackPressed();
}
@Override
protected void onPause() {
super.onPause();
JCVideoPlayer.releaseAllVideos();
}
}
我这边还有一件额外的事情。您也可以使用此library 进行视频缓存。昨天我也发现了这个。一次从互联网播放。之后它也没有互联网播放。
更新答案:
上面的例子我提供了从 url 播放在线视频,但是这个问题与视频路径问题有关。
刚刚更改了这条路径:
String videopath = "android.resource://"+getPackageName()+"+R.raw.movie";
Uri uri =Uri.parse(videopath);
对此,
Uri uri = Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.yourvideo);
谢谢,希望对你有帮助。