首頁  >  問答  >  主體

javascript - IOS微信audio標籤不能透過touchend播放

做h5小遊戲,需要長按按鈕放開後播放一個音效

GameStart.addEventListener('touchend', function(event) {
    event.preventDefault();
    Audio.play();
}, false);

IOS的機制是必須透過使用者手動觸發, 可是我這應該也算才對吧?
很是不明白,用touchstart則可以正常播放,希望大神能講解下,
或者有什麼方案可以解決我這個需求,
長按按鈕放開後再播放音效

#
给我你的怀抱给我你的怀抱2689 天前929

全部回覆(2)我來回復

  • 天蓬老师

    天蓬老师2017-06-30 09:58:15

    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.

    我搜了半天也沒找到蘋果關於user action的確切定義,可能touchend不屬於user action
    就目前嘗試,click與touchstart是可行的

    你可以嘗試在touchstart時執行Audio.load(),在touchend是再執行Audio.play();

    回覆
    0
  • ringa_lee

    ringa_lee2017-06-30 09:58:15

    這個方法喲,解決了!

    回覆
    0
  • 取消回覆