iOS WKWebView 音频只播放一次
Posted
技术标签:
【中文标题】iOS WKWebView 音频只播放一次【英文标题】:iOS WKWebView Audio only plays once 【发布时间】:2019-04-10 18:51:48 【问题描述】:我正在使用
<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 是一个已预加载的 Audio 对象。 代码在 Chrome 和 Android Webview 上运行良好,每次我触摸它都会播放我的声音。
但它只在 iOS WKWebView 上播放一次,任何进一步的 touchstart 都不会播放声音。知道为什么吗?
【问题讨论】:
【参考方案1】:好吧,我找到了答案,所以我将其发布回来。 iOS webview一次只允许一种声音,从我的测试来看,资源一旦结束就必须重新加载。
function onSoundEnded()
snd = new Audio();
snd.addEventListener('ended', onSoundEnded, false);
snd.src = 'snd/click.mp3';
onSoundEnded();
【讨论】:
以上是关于iOS WKWebView 音频只播放一次的主要内容,如果未能解决你的问题,请参考以下文章
为啥我在 iOS 9 上的 WKWebView 中的音频流无法播放?
如何检测 WKWebView 正在关闭,来自 javascript