好吧,这有点令人沮丧,我已经搜索过Stack,但没有一个答案似乎有所帮助.
我有一个Android应用程序,它循环屏幕上的不同内容.有一次,它播放视频,同一视频,从同一个地方加载.
在随机播放数量之后,它决定停止播放视频文件并向上抛出错误(-2147483648),这是一个未找到的通用文件/格式错误.
问题是视频在此错误出现之前多次正确播放.我已经尝试了许多替代方法来解决这个问题:
然而,经过多次播放后,它最终会拒绝播放视频.
可能会或可能不相关的一个变化是,当从文件描述符播放时,它会抛出媒体播放器准备Java I/O异常,我相信这可能与某些锁定发生在文件上有关.
解决此问题的唯一方法是重启设备.重新启动应用程序无法修复它,它会立即拒绝播放该文件.
这是VideoView播放代码:
// from main activity
File afile = new File(btvapp.fileroot,btvapp.getDailyVideo().get("FILENAME"));
afile.setReadable(true, false);
theVideo = (VideoView) findViewById(R.id.videoViewer);
theVideo.requestFocus();
theVideo.setVideoPath(afile.getPath());
theVideo.setOnPreparedListener(this);
theVideo.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
// TODO Auto-generated method stub
//mp.release();
theVideo.stopPlayback();
mp.release();
finish();
}
} );
theVideo.setOnErrorListener(new MediaPlayer.OnErrorListener() {
@Override
public boolean onError(MediaPlayer mp, int what, int extra) {
finish();
return false;
}
});
// play on …Run Code Online (Sandbox Code Playgroud)