按照官网上的教程只需要在配置文件里"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 的音频不支持网络路径音频,
真真假假分不清楚,官网也没有详细的说明介绍,难受
我的是解决了