最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

iOS系統(tǒng)和微信中不支持audio自動(dòng)播放問題的解決方法

 更新時(shí)間:2017年09月10日 16:16:58   作者:祿小偉  
最近在微信端開發(fā)H5的時(shí)候,audio標(biāo)簽在蘋果機(jī)上無法進(jìn)行自動(dòng)播放,查找相關(guān)資料終于解決了,所以下面這篇文章主要給大家介紹了關(guān)于iOS系統(tǒng)和微信中不支持audio自動(dòng)播放問題的解決方法,需要的朋友可以參考下。

前言

最近在做一個(gè)移動(dòng)端項(xiàng)目,需要為H5配一段背景音樂且要自動(dòng)播放,按照以往的方法將自動(dòng)播放代碼加入進(jìn)去就可以了,可以卻發(fā)生了點(diǎn)小插曲(捂臉),下面話不多說了,來一起看看詳細(xì)的介紹吧。

移動(dòng)端音頻播放代碼

css

.pause { position: absolute; z-index: 10000; bottom: 10px; right: 10px;}
.pause a { width:30px; height:30px; background:url(http://mat1.gtimg.com/zj/maxbao/reai/imgs/units-icons.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)播放的好,聽不聽看不看交給用戶來選擇。

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

  • iOS開發(fā)系列--詳細(xì)講解C語言之存儲(chǔ)方式和作用域

    iOS開發(fā)系列--詳細(xì)講解C語言之存儲(chǔ)方式和作用域

    本篇文章主要介紹了iOS開發(fā)系列--詳細(xì)講解C語言之存儲(chǔ)方式和作用域,具有一定的參考價(jià)值,有需要的可以了解一下。
    2016-11-11
  • iOS如何獲取漢字(簡體中文)筆畫數(shù)詳解

    iOS如何獲取漢字(簡體中文)筆畫數(shù)詳解

    這篇文章主要給大家介紹了關(guān)于iOS如何獲取漢字(簡體中文)筆畫數(shù)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-02-02
  • 阿里數(shù)據(jù)iOS端啟動(dòng)速度優(yōu)化心得

    阿里數(shù)據(jù)iOS端啟動(dòng)速度優(yōu)化心得

    本篇文章給大家詳細(xì)分析了阿里數(shù)據(jù)iOS端啟動(dòng)速度優(yōu)化的知識(shí)點(diǎn)以及心得,對(duì)此有興趣的朋友參考學(xué)習(xí)下吧。
    2018-02-02
  • IOS獲取系統(tǒng)相冊(cè)中照片的示例代碼

    IOS獲取系統(tǒng)相冊(cè)中照片的示例代碼

    在大家的日常開發(fā)中,經(jīng)常會(huì)遇到有的app需要從系統(tǒng)相冊(cè)中獲取圖片,如設(shè)置用戶頭像等,下面這篇文章給大家分享這個(gè)功能的實(shí)現(xiàn),有需要的可以參考借鑒。
    2016-09-09
  • IOS 自定義UIPickView詳解及實(shí)例代碼

    IOS 自定義UIPickView詳解及實(shí)例代碼

    這篇文章主要介紹了IOS 自定義UIPickView詳解及實(shí)例代碼的相關(guān)資料,這里寫個(gè)小實(shí)例及效果圖,附有實(shí)例代碼,需要的朋友可以參考下
    2016-12-12
  • IOS中UIWebView的使用詳解

    IOS中UIWebView的使用詳解

    這篇文章主要介紹了IOS中UIWebView的使用詳解,涉及到初始化與三種加載方式,一些常用的屬性和變量及ios7中的一些新特征,本文介紹的非常詳細(xì),感興趣的朋友一起學(xué)習(xí)吧
    2016-02-02
  • 剖析iOS開發(fā)中Cocos2d-x的內(nèi)存管理相關(guān)操作

    剖析iOS開發(fā)中Cocos2d-x的內(nèi)存管理相關(guān)操作

    這篇文章主要介紹了剖析iOS開發(fā)中Cocos2d-x的內(nèi)存管理相關(guān)操作,Cocos2d-x是開發(fā)游戲的利器,需要的朋友可以參考下
    2015-10-10
  • iOS開發(fā)中使用cocos2d添加觸摸事件的方法

    iOS開發(fā)中使用cocos2d添加觸摸事件的方法

    這篇文章主要介紹了iOS開發(fā)中使用cocos2d添加觸摸事件的方法,cocos2d是制作iOS游戲的利器,需要的朋友可以參考下
    2015-10-10
  • iOS仿微信添加標(biāo)簽效果(shape實(shí)現(xiàn))

    iOS仿微信添加標(biāo)簽效果(shape實(shí)現(xiàn))

    微信做的用戶體驗(yàn)非常棒,今天用shape來做下微信的標(biāo)簽功能,非常不錯(cuò),對(duì)ios 仿微信添加標(biāo)簽功能感興趣的朋友一起看看吧
    2016-11-11
  • iOS如何讓tableview支持不同種類的cell詳解

    iOS如何讓tableview支持不同種類的cell詳解

    這篇文章主要給大家介紹了關(guān)于iOS如何讓tableview支持不同種類的cell的相關(guān)資料,文中通過示例代碼詳細(xì)的給大家介紹了實(shí)現(xiàn)的兩種方法,對(duì)各位iOS開發(fā)者們具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-08-08

最新評(píng)論

嵩明县| 杂多县| 垦利县| 海林市| 宜昌市| 百色市| 耒阳市| 益阳市| 农安县| 新和县| 承德县| 余江县| 西林县| 德安县| 北票市| 和龙市| 宣武区| 江川县| 汉中市| 洪雅县| 高邑县| 绥阳县| 长泰县| 吉木萨尔县| 汤原县| 西昌市| 兴山县| 若羌县| 塘沽区| 上杭县| 商南县| 丰台区| 昂仁县| 宁都县| 都匀市| 稻城县| 肥东县| 舞阳县| 仁怀市| 体育| 尼勒克县|