针对于mui项目ios无法在后台和锁屏状态下播放音频的问题

时间:2021-05-24 18:28:51

按照官网上的教程只需要在配置文件里"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 的音频不支持网络路径音频,

真真假假分不清楚,官网也没有详细的说明介绍,难受

 

 

我的是解决了