2013-04-05 67 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