手机端怎么自动播放MP3音频,autoplay无效

sewth
  • 343

audio在手机端能监控MP3加载完毕后用 play()播放吗,试了几种方法,总是不行,安卓好像可以,但是苹果手机总是无法自动。

在微信里的

回复
阅读 5k
5 个回答

月初的项目刚刚用到

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

流量问题,貌似挺多浏览器都屏蔽了自动播放
我记得以前看过一个文章 Safari的autoplay无效 音频播放必须由用户操作 开始播放(不知道现在如何)
可以通过交互播放

  • 或者你尝试下

<script src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>
<script>
function autoPlayAudio() {
        wx.config({
            // 配置信息, 即使不正确也能使用 wx.ready
            debug: false,
            appId: '',
            timestamp: 1,
            nonceStr: '',
            signature: '',
            jsApiList: []
        });
        wx.ready(function() {
            var globalAudio=document.getElementById("audio标签id");
            globalAudio.play();
        });
};
autoPlayAudio();
</script>

微信的话,今年年初就改了规则,把这段东西放到你的onload事件里:

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

具体请看 克服 iOS HTML5 音频的局限
ios自己本身的安全策略形成了这个问题。
主要是ios中需要用户的操作事件来触发音频的播放。
ios微信中可以通过模拟事件触发和document的load事件的回调函数中来播放音频。
而ios自带的safari浏览器通过上面说的方法都不可以,必须是真实用户的交互事件才可以,模拟触发都不行。
可以设计一个点击开始的页面来播放音频。

ios 和安卓都不行不用搜了我搜了很多了最终结果是安卓 和ios安全策略禁止自动播放 可以用户提示点击一下出发播放跟video一样

你知道吗?

宣传栏