前言

使用IJKPlayer和Android原生MediaPlayer切换播放视频是,出现如下异常:

SurfaceUtils( 2333): connecting to surface 0xf1067008, reason setVideoSurfaceTexture
BufferQueueProducer( 3550): [SurfaceTexture-0-3550-1] connect: already connected (cur=2 req=3)
SurfaceUtils( 2333): Failed to connect to surface 0xf1067008, err -22
MediaPlayerService( 2333): setVideoSurfaceTexture failed: -22
NuPlayerDriver( 2333): reset(0xf100b480) at state 2
NuPlayerDriver( 2333): notifyListener_l(0xf100b480), (8, 0, 0, -1), loop setting(0, 0)
NuPlayerDriver( 2333): notifyResetComplete(0xf100b480)
System.err( 3550): java.lang.IllegalStateException
System.err( 3550):         at android.media.MediaPlayer._prepare(Native Method)
System.err( 3550):         at android.media.MediaPlayer.prepare(MediaPlayer.java:1282)
System.err( 3550):         at com.biumall.video.SystemPlayer.prepare(SystemPlayer.java:135)
System.err( 3550):         at com.biumall.video.BiuMediaPlayer.prepare(BiuMediaPlayer.java:713)

记录一下解决方式,方便自己查阅。

正文

设计中是如果视频能走硬解就走硬解,否则就走软解,然后相互切换。

时间场景中,如果IJKPlayer播放了视频,然后下一曲用Android原生的MediaPlayer播放时,就出现上面问题。

最后通过排查,解决了。下面记录一下原因和解决方法。

隐藏内容!
付费阅读后才能查看!
4
多个隐藏块只需支付一次

参考文章

相关文章

暂无评论

none
暂无评论...