按照官網上的教程只需要在配置文件里"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+的音頻不支持網絡路徑音頻,
真真假假分不清楚,官網也沒有詳細的說明介紹,難受
我的是解決了