#javascript #ios #cordova #wkwebview
#javascript #iOS #кордова #wkwebview
Вопрос:
Я использую
<plugin name="cordova-plugin-wkwebview-engine" spec="^1.1.4" />
с Cordova@7.1 iOS@5.0.0
Я установил свои настройки на
<preference name="AllowInlineMediaPlayback" value="true" />
<preference name="MediaPlaybackRequiresUserAction" value="false" />
В js-коде моей страницы я воспроизводю звук (после загрузки), но это работает только в первый раз
(...)on('touchstart', function(){
snd.play();
});
snd — это предварительно загруженный аудиообъект. Код отлично работает в Chrome и Android Webview, каждый раз, когда я касаюсь его, воспроизводится мой звук.
Но он воспроизводится только один раз на iOS WKWebView, любой дальнейший сенсорный запуск не будет воспроизводить звук. Есть идеи, почему?
Ответ №1:
Что ж, я нашел ответ, поэтому отправляю его обратно. iOS webview позволяет воспроизводить только один звук за раз, и из моих тестов выясняется, что ресурс должен быть перезагружен после завершения.
function onSoundEnded(){
snd = new Audio();
snd.addEventListener('ended', onSoundEnded, false);
snd.src = 'snd/click.mp3';
}
onSoundEnded();