問題描述
今天在做一個視頻播放的功能,播放內核使用的IJKPlayer,在拖動進度條進行跳轉的時候,發現跳轉位置總是不準確,尤其在10秒以內的視頻播放中進行拖動,跳轉的更不準確,經常調至開頭或者結尾。
分析其原因,發現進度條SeekBar定位是沒有問題的,但是使用IjkMediaPlayer.seekTo(int position)方法時,總是不能準確定位。分析是IjkMediaPlayer內部問題,可能因爲視頻時間較短,壓縮率較高等原因,導致關鍵幀確實,進度條定點位置內沒有找到關鍵幀,所以,定位不準確。
解決方法
在初始化視頻播放器的時候,添加seekTo支持
((IjkMediaPlayer)mMediaPlayer).setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "enable-accurate-seek", 1);
至於這個配置具體還有別的什麼,我再找找。