javascript - IOS微信audio標(biāo)簽不能通過touchend播放
問題描述
做個(gè)h5小游戲,需要長(zhǎng)按按鈕放開后播放一個(gè)音效
GameStart.addEventListener(’touchend’, function(event) { event.preventDefault(); Audio.play();}, false);
IOS的機(jī)制是必須通過用戶手動(dòng)觸發(fā), 可是我這應(yīng)該也算才對(duì)吧?很是不明白,用touchstart則可以正常播放,希望大神能講解下,或者有什么方案可以解決我這個(gè)需求,長(zhǎng)按按鈕放開后再播放音效
問題解答
回答1:Note: On iOS, the Web Audio API requires sounds to be triggered from an explicit user action, such as a tap. Calling noteOn() from an onload event will not play sound.
我搜了半天也沒找到蘋果關(guān)于user action的確切定義,可能touchend不屬于user action就目前嘗試,click與touchstart是可行的
你可以嘗試在touchstart時(shí)執(zhí)行Audio.load(),在touchend是再執(zhí)行Audio.play();
回答2:這個(gè)方法喲,解決了!
相關(guān)文章:
1. macos - 如何徹底刪除mac自帶的apache和php2. javascript - sublime快鍵鍵問題3. docker 17.03 怎么配置 registry mirror ?4. DADB.class.php文件的代碼怎么寫5. javascript - immutable配合react提升性能?6. css - 寫頁面遇到個(gè)布局問題,求大佬們幫解答,在線等,急!~7. mysql事務(wù)回滾定位8. javascript - html5多個(gè)label中其中一個(gè)觸發(fā)change,如何判斷是哪一個(gè)出發(fā)了change9. 實(shí)現(xiàn)bing搜索工具urlAPI提交10. css - 移動(dòng)端字體設(shè)置問題

網(wǎng)公網(wǎng)安備