android VideoView开发总结

<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);

你可能感兴趣的:(android VideoView开发总结)