我在用着
<plugin name="cordova-plugin-wkwebview-engine" spec="^1.1.4" />
使用[email protected] + [email protected]
我已将偏好设置为
<preference name="AllowInlineMediaPlayback" value="true" />
<preference name="MediaPlaybackRequiresUserAction" value="false" />
在页面的js代码中,我播放声音(一次加载),但这仅在第一次时有效
(...)on('touchstart', function(){
snd.play();
});
snd是已预加载的Audio对象。每当我触摸它时,该代码就可以在Chrome和Android Webview上正常播放。
但它只能在iOS WKWebView上播放一次,任何进一步的touchstart都不会播放声音。知道为什么吗?
最佳答案
好吧,我找到了答案,所以我将其发布回来。 iOS Webview一次只允许发出一种声音,根据我的测试,似乎资源必须在结束后重新加载。
function onSoundEnded(){
snd = new Audio();
snd.addEventListener('ended', onSoundEnded, false);
snd.src = 'snd/click.mp3';
}
onSoundEnded();
关于javascript - iOS WKWebView音频仅播放一次,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55619490/