javascript – IOS WeChat-Audio-Tag kann nicht über Touchend abgespielt werden
给我你的怀抱
给我你的怀抱 2017-06-30 09:56:15
0
2
965

Um ein H5-Minispiel zu erstellen, müssen Sie die Taste lange drücken und wieder loslassen, um einen Soundeffekt abzuspielen

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

Der Mechanismus von IOS muss vom Benutzer manuell ausgelöst werden, aber das sollte für mich als richtig angesehen werden?
Ich verstehe es wirklich nicht, aber ich hoffe, jemand kann es erklären, oder? Gibt es eine Lösung, die meine Anforderungen erfüllen kann?
Drücken Sie die Taste lange und lassen Sie sie los, um den Soundeffekt abzuspielen.

给我你的怀抱
给我你的怀抱

Antworte allen(2)
Peter_Zhu

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();

ringa_lee

这个方法哟,解决了!

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage