javascript - IOS微信audio標(biāo)簽不能通過touchend播放
問題描述
做個h5小游戲,需要長按按鈕放開后播放一個音效
GameStart.addEventListener(’touchend’, function(event) { event.preventDefault(); Audio.play();}, false);
IOS的機(jī)制是必須通過用戶手動觸發(fā), 可是我這應(yīng)該也算才對吧?很是不明白,用touchstart則可以正常播放,希望大神能講解下,或者有什么方案可以解決我這個需求,長按按鈕放開后再播放音效
問題解答
回答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:這個方法喲,解決了!
相關(guān)文章:
1. mac OSX10.12.4 (16E195)下Mysql 5.7.18找不到配置文件my.cnf2. mysql - 怎么生成這個sql表?3. mysql儲存json錯誤4. php - 公眾號文章底部的小程序二維碼如何統(tǒng)計(jì)?5. mysql - 表名稱前綴到底有啥用?6. mysql - 數(shù)據(jù)庫表中,兩個表互為外鍵參考如何解決7. Navicat for mysql 中以json格式儲存的數(shù)據(jù)存在大量反斜杠,如何去除?8. 在mybatis使用mysql的ON DUPLICATE KEY UPDATE語法實(shí)現(xiàn)存在即更新應(yīng)該使用哪個標(biāo)簽?9. mysql - 數(shù)據(jù)庫建字段,默認(rèn)值空和empty string有什么區(qū)別 11010. sql語句 - 如何在mysql中批量添加用戶?
