我的视频观看有问题。
当我尝试在我的 API-27 模拟器上播放来自特定 URL 的视频时,Android 会显示消息对话框
Can't play this video
这就是我在 Logcat 中得到的
source returned error -1010, 0 retries left
initFromDataSource, source has no track!
Failed to init from data source!
MediaPlayerNative: error (1, -2147483648)
MediaPlayer: Error (1,-2147483648)
这是我使用 videoview 的代码
mVideoView = findViewById(R.id.videoView);
mMediaController = new MediaController(this);
mVideoView.setVideoPath("https://clips.vorwaerts-gmbh.de/VfE_html5.mp4");
mVideoView.requestFocus();
initListeners();
initListeners 方法
mVideoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
mVideoView.setMediaController(mMediaController);
mVideoView.setBackground(null);
mMediaController.setAnchorView(mVideoView);
mMediaController.show();
mVideoView.start();
}
});
mVideoView.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
mVideoView.setBackground(getDrawable(R.drawable.webinar_photo_preview));
}
});
我在 api23、api24 上测试了我的视频查看功能,一切听起来都不错。 有人可以告诉我我做错了什么吗?
已编辑:现在我发现错误也出现在 api24 上
最佳答案
问题出在 VideoView 中,setVideoPath 仅将视频设置为较小的文件大小 (1 - 2 MB),如果文件大小较大,则 MediaPlayer 会崩溃并显示 MEDIA_ERROR_SYSTEM (-2147483648)
-(低级系统错误), read in documentation .这就是我开始使用 exoPlayer 的原因。
关于java - 如何解决 MediaPlayer 错误 "Can' t 播放此视频”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49151741/