iOS WKWebView Audio 只播放一次

iOS WKWebView Audio only plays once

我正在使用

<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 上运行良好,每次我触摸它都会播放我的声音。

但是在iOSWKWebView上只播放一次,以后再touchstart就不会播放声音了。知道为什么吗?

好吧,我找到了答案,所以我将其发回。 iOS webview 一次只允许一个声音,从我的测试来看,似乎资源一旦结束就必须重新加载。

function onSoundEnded(){
    snd = new Audio();
    snd.addEventListener('ended', onSoundEnded, false);
    snd.src = 'snd/click.mp3';
}

onSoundEnded();