In my app(audio base app), i'm playing remote audio.
before start playing i set following category
AVAudioSession.sharedInstance().setCategory(.playback, mode: .default, options: [])
so while i'm playing audio, i also play vimeo video in WKWebView
which cause audio interrupt. how to avoid this behaviour?
<!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>