针对于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