2013-04-05 75 views
-1

我有这样的代码:声音不能被定义if语句

var snd = [new Audio("bla/blo.wav"), new Audio("bla/bli.wav")] 

    function playSnd(x) { 
     if (x == 1) {snd[0].play()} 
     if (x == 2) {snd[1].play()} 
    } 

    playSnd(2) 
在“playSnd(2)”的问题,它会同时播放声音的

这里,为什么? ?

+0

编辑它...([0]和[0]) – 2013-04-05 16:15:33

+3

不可能。在这个宇宙中,2!= 1'。 – freakish 2013-04-05 16:16:32

+1

@iamnotmaynard虽然推荐使用分号,但分号并不是必需的。 – freakish 2013-04-05 16:16:51

回答

0
var snd = ["bla/blo.wav", "bla/bli.wav"] 

function playSnd(x) { 
    if (x == 1) {(new Audio(snd[0])).play()} 
    if (x == 2) {(new Audio(snd[1])).play()} 
} 

playSnd(2) 
+0

Downvote?这对我有用。 – 2013-04-05 16:26:21

+0

之前有人说这不能回答这个问题,它确实解决了标题中的问题。只是不是发布中的问题。 – iamnotmaynard 2013-04-05 16:26:24

+1

是的,这正是我所尝试的IK,但因为我不想在每次播放时加载声音,所以我不接受你的答案。 – 2013-04-05 16:26:37

-3

我似乎无法找到您的代码有任何问题。但是,如果要调试代码出错的位置,您可以先使用else。

var snd = [new Audio("bla/blo.wav"), new Audio("bla/bli.wav")] 

function playSnd(x) { 
    if (x == 1) {snd[0].play()} 
    else if (x == 2) {snd[1].play()} 
} 

playSnd(2) 
+2

这应该是一个评论,而不是一个答案。 – 2013-04-05 16:39:25