surfaceview already connect错误

最近在做android视频播放器,可以进行软解和硬解进行切换,但是遇到一个令我头痛的问题,硬解模式却换到软解模式可以正常播放,有声音有图像,但是当从软解模式切换到硬解模式的时候,却出现只有声音没有图像的现象。尝试了很多办法也没有解决,后来仔细分析下log发现有一句错误打印:surfaceview already connect[cur=2, req=3]。

        经过查资料发现是surface被占用还没有释放,此时mediaplayer再去attach该surfaceview时就会出错。那么针对此错误只能是重新创建surfaceview,最简单的方式就是通过如下两句代码来实现:

?
1
2
3
mSurface.setVisibility(View.GONE);
 
mSurface.setVisibility(View.VISIBLE);
posted @ 2015-05-04 11:52  菩提本无树  阅读(939)  评论(0编辑  收藏  举报