如何通过Javascript使用If条件播放音频
我想在If条件为true时自动播放音频,我试图在index.html文件中编写此代码,但没有播放声音文件 我尝试了它与按钮点击和工作,但我需要它与如果条件自动当条件为真如何通过Javascript使用If条件播放音频,javascript,html,Javascript,Html,我想在If条件为true时自动播放音频,我试图在index.html文件中编写此代码,但没有播放声音文件 我尝试了它与按钮点击和工作,但我需要它与如果条件自动当条件为真 <script> var sound1 = new Audio('services.mp3'); var name = function() { if( 29 == 29 ){ sound1.play(); } else { sound1.play();
<script>
var sound1 = new Audio('services.mp3');
var name = function() {
if( 29 == 29 ){
sound1.play();
}
else {
sound1.play();
}
}
</script>
var sound1=新音频('services.mp3');
var name=function(){
如果(29==29){
声音1.播放();
}
否则{
声音1.播放();
}
}
我试过这个代码,当我重新加载页面时,什么也听不到!在控制台调试器中没有错误
有什么想法吗
谢谢在我看来,您实际上并没有调用您的函数。也许试试这个
<script>
var sound1 = new Audio('services.mp3');
var playSound = function() {
if( 29 == 29 ){
sound1.play();
}
else {
sound1.play();
}
};
playSound(); // Invoke playSound function
</script>
var sound1=新音频('services.mp3');
var playSound=函数(){
如果(29==29){
声音1.播放();
}
否则{
声音1.播放();
}
};
播放声音();//调用播放声音函数
我将你的函数名从
name
更改为playSound
,因为它与窗口冲突。name
(由@randomsoull提到)我觉得你实际上并没有调用你的函数。也许试试这个
<script>
var sound1 = new Audio('services.mp3');
var playSound = function() {
if( 29 == 29 ){
sound1.play();
}
else {
sound1.play();
}
};
playSound(); // Invoke playSound function
</script>
var sound1=新音频('services.mp3');
var playSound=函数(){
如果(29==29){
声音1.播放();
}
否则{
声音1.播放();
}
};
播放声音();//调用播放声音函数
我将函数名从
name
更改为playSound
,因为它与窗口冲突。name
(由@randomsoull提及)video
或audio
播放是一种异步活动,它返回promise
-
let playPromise=新音频('car_horn.wav');
play promise.play()然后(()=>{
console.log('Playing')
})
.catch(e=>{
console.log('发生错误',e.message);
})
视频
或音频
播放是一种异步活动,它返回承诺
-
let playPromise=新音频('car_horn.wav');
play promise.play()然后(()=>{
console.log('Playing')
})
.catch(e=>{
console.log('发生错误',e.message);
})
如果条件在一个函数中,您的。我没有看到任何调用此函数的代码?另外,在if
和else
中调用play
,这没有任何意义。29是多少?这个条件是什么意思?代码可读性非常重要。它就像一个测试,检查您的条件是否在函数中。我没有看到任何调用此函数的代码?另外,在if
和else
中调用play
,这没有任何意义。29是多少?这个条件是什么意思?代码可读性非常重要。这就像检查播放音频的测试一样,上面声明的name
在全局范围内,并且与window.name
冲突。使用let或iLife将其设置为本地。@mwilson它给了我未捕获(承诺)的DOMException
和匿名
!我会看看@randomSoul的答案。它看起来像是.play
返回了一个承诺(这可以解释为什么您会遇到这个错误)上面声明的name
在全局范围内,并且与window.name
冲突。使用let或iLife将其设置为本地。@mwilson它给了我未捕获(承诺)的DOMException
和匿名
!我会看看@randomSoul的答案。它看起来像是.play
返回了一个承诺(这可以解释为什么你会遇到这个错误),它可以与Microsoft Edge一起使用,但不能在chrome中使用,也不能在Firefox中使用!它与Microsoft Edge兼容,但不适用于chrome,也不适用于Firefox!