请问为什么audio标签在部分ios的机型上play()没有声音

如题
代码
第一种

<audio src="dialogue/1/3-妈妈.mp3" class="dia2"></audio>
<audio src="dialogue/1/4我不.mp3" class="dia-no"></audio>
$('.slide2 .dia2')[0].play()

第二种

<audio src="dialogue/3/1-爸爸妈妈.mp3" class="dia-all"></audio>
setTimeout(function(){diaplay('dialogue/1/1旁白.mp3')},500)
function diaplay(src){
    dia_all.src = src
    dia_all.load()
    dia_all.play()
}

资源是本地的,然后安卓机目前测试的都有声音,然后公司有两个人的iphone没有声音 是iphone6s和7
有两种方法play(),都不起作用

阅读 11.1k
5 个回答

使用用户主动事件触发试试,比如挂到touchstart上,或者如果是在微信浏览器里可以放到wx.ready的回调里试试~

(function audioAutoPlay() {

 var audio = document.getElementById('audio');
    audio.play();
document.addEventListener("WeixinJSBridgeReady", function () {
    audio.play();
 }, false);

})();

苹果禁止了Autoplay和JS "onload" 加载播放,使在html文件里使用了preload和autoplay属性,在移动版 Safari 上,此属性会被忽视,并且不会加载视频流,甚至不会下载该视频流。

总之一句话就是苹果要有用户操作才会播放,不然不给你自动播放音频。。

文件名不要使用中文试试

新手上路,请多包涵

或者是文件错误

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏