<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">1.VideoView播放视频文件报错时,可调用:</span>
public void onCreate(){
...
mVideoView.setOnErrorListener(videoErrorListener);
...
}
private OnErrorListener videoErrorListener = new OnErrorListener(){
void onError(){
return true;//返回true,不弹出报错对话框
}
}
注意:
在MediaPlayer与SurcaceView播放视频的时候,如果播放的视频码流有误,使Media Server Died, 这时如果重新释放MediaPlayer并创建,有时会出现 [SurfaceView] connect: already connected (cur=3, req=3) setVideoSurfaceTexture failed: -22这样的错误(这是在htc上出现的)或者出现 E/MemoryHeapBase(13312): mmap(fd=21, size=0) failed (Invalid argument)(这是在ipad上出现的)
分析原因应该是surfaceview占用,与新创建的mediaplayer无法正常关联,需要重新创建surfaceview
可行方法
surfaceView.setVisibility(View.GONE);
surfaceView.setVisibility(View.VISIBLE);