針對於mui項目ios無法在后台和鎖屏狀態下播放音頻的問題


按照官網上的教程只需要在配置文件里"distribute"-apple加上

"UIBackgroundModes": [
"audio"
],就可以了,但是安卓是可以了,蘋果依舊不行,不知道是因為音頻格式的問題還是創建的audio標簽不對

我用的是

<audio id="fry_audio" class='music-audio' >
<source id="audio" src="" type="audio/mpeg">
</audio>

純audio標簽,已pause和play來控制暫停或播放

下面說ios后台播放音頻的解決辦法,

document.addEventListener( "plusready", onPlusReady, false );   //創建監聽方法

function onPlusReady(){
console.log('准備監聽app進入后台狀態')
document.addEventListener("pause",onAppPause,false)
document.addEventListener("resume",onAppReume,false)
}

//app 轉入后台
function onAppPause() {
console.log("Application paused!");
startPlay();
}

function startPlay() {
console.log(444444)
if(audios.paused){
console.log("暫停中")
}else{
console.log("播放中")      //如果當前是播放狀態,進入后台就讓其繼續播放
audios.play(function(){},function(e){       //播放方法必須寫全,只用audios.play()是不行的
console.log(e)
});
}

}

 

下面注意事項,在plusready里要加上這么一句

 plus.audio.createPlayer()    創建個h5+的音頻播放對象,雖然我沒理解這是什么意思,但是不加就是后台播放不了

據我猜測應該是mui不支持原生audio標簽在后台播放,但是支持h5+的音頻播放對象,但是h5+的音頻不支持網絡路徑音頻,

真真假假分不清楚,官網也沒有詳細的說明介紹,難受

 

 

我的是解決了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM