您好,登錄后才能下訂單哦!
小編給大家分享一下iOS系統(tǒng)和微信中不支持audio自動(dòng)播放怎么辦,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
移動(dòng)端音頻播放代碼
css
.pause { position: absolute; z-index: 10000; bottom: 10px; right: 10px;} .pause a { width:30px; height:30px; background:url(https://cache.yisu.com/upload/information/20200623/126/121211.png) 0 0 no-repeat; display:block; background-size: 90px auto;} .pause a.on { -webkit-animation:reverseRotataZ 1.2s linear infinite} .pause a.off { } .pause span{ color: #fff; font-size: 16px; position:absolute; left:-40px; top:5px; text-shadow:1px 1px 1px #000; letter-spacing:2px; -webkit-transition:all .2s linear; opacity:0; -webkit-transform:translateX(-20px) } .pause span.z-show { opacity:1; -webkit-transform:translateX(0px)} .coffee-steam-box { -webkit-transform:translate(-40px,-40px)} @-webkit-keyframes reverseRotataZ { 0% { -webkit-transform:rotateZ(0deg) } 100% { -webkit-transform:rotateZ(-360deg) } } .audio{position: absolute; z-index:10; visibility: hidden; opacity: 0; left: 0px; top:0px; width: 100px ; height: 30px;}
html
<div class="pause"> <a class="on" href="#" rel="external nofollow" > </a> <span>開啟</span> </div> <div class="audio"> <audio src="http://mat1.gtimg.com/ln/images/2016zt/12Dec/dlsdbm/music.mp3" controls="controls" preload="auto" autoplay="autoplay" id="audio" loop></audio> </div>
javascript
//播放器 (function($) { $(document).ready(function() { var musicControl = function(obj){ var classname = $.trim(obj.attr('class')); //alert(classname); if (classname == 'on') { document.getElementById('audio').pause(); obj.removeClass('on').addClass('off'); obj.siblings('span').text('關(guān)閉'); $('.pause span').addClass('z-show'); $('.music-icon').removeClass('active'); setTimeout(function(){ $('.pause span').removeClass('z-show'); },500); } else if (classname == 'off') { document.getElementById('audio').play(); obj.removeClass('off').addClass('on'); obj.siblings('span').text('開啟'); $('.music-icon').addClass('active'); $('.pause span').addClass('z-show'); setTimeout(function(){ $('.pause span').removeClass('z-show'); },500); }; return false; } $('.pause a').click(function () { musicControl($(this)); }); var audio = document.getElementById('audio'); audio.play(); $(document).one("touchstart", function() { audio.play() }) }); })(jQuery);
問題解決
加進(jìn)去后用微信(iOS系統(tǒng))瀏覽頁面發(fā)現(xiàn)居然沒有自動(dòng)播放,點(diǎn)擊暫停后再次點(diǎn)擊播放正常,這就說明播放功能沒有問題,將頁面用iOS自帶瀏覽器Safari打開后也不能自動(dòng)播放,往年都是用這段代碼,屢試不爽難道突然就不好使了?隨即用android手機(jī)打開頁面,居然可以自動(dòng)播放,那就證明代碼本身是沒有問題的,隨后查了相關(guān)文獻(xiàn),是因?yàn)閕OS Safari 限制不允許 audio autoplay, 必須用戶主動(dòng)交互(例如 click)后才能播放 audio, 因此我們通過一個(gè)用戶交互事件來主動(dòng)play一下audio應(yīng)該就可以解決問題了,代碼如下:
document.getElementById('idName').play();
這個(gè)時(shí)候Safari可以自動(dòng)播放了但是發(fā)現(xiàn)微信里面居然還是不行,難道是微信做了什么處理?將代碼修改如下:
<script src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script> <script> //一般情況下,這樣就可以自動(dòng)播放了,但是一些奇葩iPhone機(jī)不可以 document.getElementById('idName').play(); //微信必須加入Weixin JSAPI的WeixinJSBridgeReady才能生效 document.addEventListener("WeixinJSBridgeReady", function () { document.getElementById('idName').play(); document.getElementById('video').play(); //視頻自動(dòng)播放 }, false); </script>
至此已經(jīng)完美解決了自動(dòng)播放的問題,其實(shí)對(duì)于不允許音頻視頻自動(dòng)播放的問題來說不一定就是壞事,因?yàn)槟阆氘吘勾蠹伊髁磕敲促F,一個(gè)音頻視頻動(dòng)輒就幾MB甚至十幾MB、幾十MB,自動(dòng)播放流量瞬間就出去了,哭都來不及,所以如果不是必要情況還是不要自動(dòng)播放的好,聽不聽看不看交給用戶來選擇。
看完了這篇文章,相信你對(duì)“iOS系統(tǒng)和微信中不支持audio自動(dòng)播放怎么辦”有了一定的了解,如果想了解更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。