美文网首页
关于ijkplayer播放卡顿

关于ijkplayer播放卡顿

作者: Wenchl | 来源:发表于2017-02-22 17:03 被阅读2176次

在做音频播放的时候,使用的是开源的ijkplayer播放器,ijkplayer解码使用的是ffmpeg,声音输出使用的是audiotrack,在某机型上面播放遇到锁屏、返回后台、点击home键的时候会出现声音卡顿的现象,会输出下面的log

W/AudioTrack: releaseBuffer() track 0xcce8b600 disabled due to previous underrun, restarting

我实现播放调用步骤是在AsyncTask中,查阅资料发现是因为在线程中播放造成的问题,经过查看asynctask构造方法发现,asynctask会把线程的优先级设置为THREAD_PRIORITY_BACKGROUND后台线程,于是我将线程的优先级设置为THREAD_PRIORITY_URGENT_AUDIO,解决了播放卡顿的问题,我猜测播放线程优先级降低,系统分配时间片会减少,会导致底层ijk读数据输出数据时得不到及时的回应,audiotrack频繁的releasebuffer,restarting声道,造成卡顿。

相关文章

网友评论

      本文标题:关于ijkplayer播放卡顿

      本文链接:https://www.haomeiwen.com/subject/frnirttx.html