【发布时间】:2020-05-10 11:22:48
【问题描述】:
在我的应用程序(音频基础应用程序)中,我正在播放远程音频。
在开始播放之前我设置了以下类别
AVAudioSession.sharedInstance().setCategory(.playback, mode: .default, options: [])
所以当我播放音频时,我也在WKWebView 中播放 vimeo 视频,这会导致音频中断。如何避免这种行为?
<!DOCTYPE html>
<html>
<body>
<style type="text/css">
body, html {width: 100%; height: 100%; margin: 0; padding: 0;background:black}
.main {position: absolute;top: 0; left: 0; right: 0; background-color: #101010;height:100%;}
.main iframe {display: block; width: 100%; height: 100%; border: none;}
</style>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<script src="https://player.vimeo.com/api/player.js"></script>
<div class="main">
<iframe src=\(url)></iframe>
</div>
<script src="https://player.vimeo.com/api/player.js"></script>
<script>
var iframe = document.querySelector('iframe');
var player = new Vimeo.Player(iframe);
player.on('play', function() {
window.webkit.messageHandlers.play.postMessage("play")
});
player.on('pause', function() {
window.webkit.messageHandlers.pause.postMessage("pause")
});
player.on('ended', function(data) {
window.webkit.messageHandlers.ended.postMessage("ended")
});
player.on('bufferstart', function(data) {
window.webkit.messageHandlers.bufferstart.postMessage("bufferstart")
});
player.on('bufferend', function(data) {
window.webkit.messageHandlers.bufferend.postMessage("bufferend")
});
Promise.all([player.getVideoWidth(), player.getVideoHeight()]).then(function(dimensions) {
window.webkit.messageHandlers.dimensions.postMessage(dimensions)
});
player.getDuration().then(function(duration) {
window.webkit.messageHandlers.duration.postMessage(duration);
});
player.ready().then(function () {
player.setVolume(1)
window.webkit.messageHandlers.ready.postMessage("ready");
});
function play() {
player.play();
}
function pause() {
player.pause();
}
function destroy() {
player.destroy();
}
</script>
</body>
</html>
【问题讨论】:
-
您使用了错误的类别 - 请改用
AVAudioSessionCategory.ambient。
标签: ios html5-video wkwebview vimeo vimeo-player