我們?cè)诩闪薸jkplayer之后,可能需要設(shè)置速率setSpeed,在設(shè)置setSpeed之后,我們發(fā)現(xiàn),本來(lái)正常的聲音,頓時(shí)變得花里胡哨的!
咋整!不急!
設(shè)置IjkMediaPlayer的setOption,配置的類別是IjkMediaPlayer.OPT_CATEGORY_PLAYER,值:0;
即:mIjkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "soundtouch", 0);
代碼如下:
mIjkMediaPlayer.setSpeed(speed);
mIjkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "soundtouch", 0);
mIjkMediaPlayer.setDataSource(url);
mIjkMediaPlayer.prepareAsync();
加上mIjkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "soundtouch", 0);,你的音頻音調(diào)就正常了
但是最終我發(fā)現(xiàn),單純?cè)O(shè)置這個(gè)配置還是不夠的,android6.0以下的系統(tǒng)還是會(huì)出現(xiàn)變調(diào),只能通過(guò)判斷一下:
// >6.0的情況 使用 避免變速變調(diào)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
mIjkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "soundtouch", 0);
}else{
mIjkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "soundtouch", 1);
}
如果各位看到我的這篇文章,有更好的辦法,希望指教!虛心請(qǐng)教!??!