Javascript AbortError:play()请求被暂停()的调用中断
我现在正试图修复这个javascript代码,但我似乎无法正确处理它,它仍然会抛出 未捕获(承诺中)中止恐怖:play()请求被中断 通过调用暂停() 我不明白这有什么问题,所以如果你们能帮我,我会非常高兴 这是密码Javascript AbortError:play()请求被暂停()的调用中断,javascript,html,audio,promise,playback,Javascript,Html,Audio,Promise,Playback,我现在正试图修复这个javascript代码,但我似乎无法正确处理它,它仍然会抛出 未捕获(承诺中)中止恐怖:play()请求被中断 通过调用暂停() 我不明白这有什么问题,所以如果你们能帮我,我会非常高兴 这是密码 <html> <head> <script src="nui://game/ui/jquery.js" type="text/javascript"></script> <script> v
<html>
<head>
<script src="nui://game/ui/jquery.js" type="text/javascript"></script>
<script>
var audioPlayer = null;
window.addEventListener('message', function(event) {
if (event.data.transactionType == "playSound") {
if (audioPlayer != null) {
audioPlayer.pause();
}
audioPlayer = new Audio("./sounds/" + event.data.transactionFile + ".ogg");
audioPlayer.volume = event.data.transactionVolume;
audioPlayer.play();
}
});
</script>
</head>
var audioPlayer=null;
window.addEventListener('message',函数(事件){
if(event.data.transactionType==“播放声音”){
if(audioPlayer!=null){
audioPlayer.pause();
}
audioPlayer=新音频(“./sounds/”+event.data.transactionFile+”.ogg”);
audioPlayer.volume=event.data.transactionVolume;
audioPlayer.play();
}
});
我自己玩声音时也有这个问题。下面的代码为我修复了它:
var soundPromise = audioPlayer.play();
//If the promise exists
if (soundPromise != undefined) {
soundPromise.then(function(_) {
//Pause and reset the sound
sound.pause();
sound.currentTime = 0;
});
}
如果您有任何问题,请告诉我 这是浏览器中的自动播放问题:简而言之,如果您不进行某些操作(例如单击、触摸),浏览器将不允许媒体自动开始播放 可参考: 要修复此问题,应将调用
.play()
放在单击按钮的回调函数中,例如
playBtn.onclick = function(){
audioPlayer.play();
}
这不是一个问题,实际上是一条规则。这不是一个自动播放-你会看到OP给我们的错误是
播放()请求被暂停()的调用中断了。
。我几乎连续两个小时都在盯着这个代码,我不明白如何在我现在的代码中实现这一点。我有点笨,所以如果你能再帮我一次,我真的很感激你。把它放在你呼叫的任何地方。。pause()
@JackBashford在你呼叫sound.pause()的那一行代码>-您从何处获得声音
变量?这就是OP使用的声音-这只是一个占位符示例。