当我尝试在我的API-27模拟器Android播放消息对话框中播放来自特定网址的视频时
无法播放此视频
这就是我在Logcat中得到的东西
源返回错误-1010,重试0次
initFromDataSource,source没有跟踪!
无法从数据源初始化!
MediaPlayerNative:错误(1,-2147483648)
MediaPlayer:错误(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
上答案 0 :(得分:0)
看起来您的代码工作正常,可能问题是您没有使用在请求时发送到浏览器的Cookie。
简单来说,此视频不适用于通过代码直接访问。
如果您仍想尝试以下步骤。
注意 - 如果您想使用Cookie播放视频,可以通过ExoPlayer(https://github.com/google/ExoPlayer)完成。
答案 1 :(得分:0)
问题在于VideoView,setVideoPath只设置了少量文件(1 - 2 MB)的视频,如果尺寸较大,MediaPlayer会因MEDIA_ERROR_SYSTEM (-2147483648)
而崩溃 - (低级系统错误),read in documentation 。这就是为什么我开始使用exoPlayer。