Heim > Fragen und Antworten > Hauptteil
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.
天蓬老师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();