關(guān)于ios上audio的思考

前端入坑紀(jì) 34

Up主最近接手了一個HTML5的小游戲,一切都很順利,直到遇到ios。

人生太多不確定,何況還是前端,更是體會深切啊。

<audio hidden id="yao" src="007.ogg"></audio>
<a id="szBtn" href="javascript:;"></a>

var szBtn = document.getElementById("szBtn");
var yaudio = document.getElementById("yao");

szBtn.addEventListener("touchstart", function() {      
            yaudio.play();
        });

這里代碼很清晰,就是有個按鈕和音頻,邏輯也就是點擊按鈕觸發(fā)播放音頻。
這很好,安卓上一切正常,可是一遇到ios就不起作用了。

所以,剩下的就是百度,google,國內(nèi)國外網(wǎng)站上了一個遍。最后得出的結(jié)論是,ios只有在用戶真正的交互發(fā)生才會觸發(fā)播放音樂。這就讓我很迷了,touchstart不就是用戶在交互了嗎?逗我玩嗎?

無奈的我只能繼續(xù)百度了,幸運的在簡書里看到了一篇相關(guān)文。因為是在微信里執(zhí)行這個HTML5游戲的,所以符合下面的代碼

document.addEventListener("WeixinJSBridgeReady", function() {
            yaudio.load();
        }, false);

上面就是要在等微信JSBridge準(zhǔn)備好后,加載這個音頻文件。那樣就可以排除用戶點擊了按鈕,沒聲音是文件還沒加載好的鍋。

然而,事實并非如此簡單,我這邊依舊無效.......沒有聲音......

最后,看到這里的你一定也猜到了。既然我都發(fā)文上來了,一定是解決了。是的,皇天不負(fù)苦心人,我把ogg換成了mp3,就全好了。

我的內(nèi)心其實是很奔潰的,為什么呢?

你懂的
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,063評論 25 709
  • 題目:輸入一個矩陣,按照從外向里以順時針的順序依次掃印出每一個數(shù)字。 代碼如下: 來源:http://blog.c...
    3e1094b2ef7b閱讀 270評論 0 1
  • 翻著韓寒的《我所理解的生活》,在窗邊的陽光下,一杯暖茶,一紙書,悠閑愜意,今年會堅持來簡書,會堅持讀書,堅持運動,...
    默許蒼微閱讀 203評論 0 0
  • 今天寫的早一些,要不然會猝死。。。。。 現(xiàn)在越來越覺得語言真是個美好的東西。這些不同的說話方式,說出同一個意思,很...
    doubleDutch閱讀 316評論 0 0

友情鏈接更多精彩內(nèi)容