2014-02-19 101 views
1

我有一個jQuery代碼來播放音頻文件。這是我採取的地址MP3網址傳遞字符串到音頻()

$(mp3link).append($("<textarea name="+"mp3link"+" id=\"mp33\" rows="+10+" cols="+75+"></textarea>")); 

而在某些地方,我使用這個MP3鏈接從網上播放音頻。

snd1 = new Audio("\""+$(mp33).val()+"\""); 
snd1.play(); 

但它沒有彈奏。如果我硬編碼它正確播放的網址。任何人都可以告訴這個傳球有什麼問題嗎?

回答

0

我建議要麼總是使用雙引號將屬性值進行轉義和包裝,要麼將字符代碼用於字符串分隔符和內聯雙引號。

在一個點上,你寫的:

"<textarea name="+"mp3link"+" 

裏面居然變成<textarea name=mp3link,然後你逃脫雙引號:id=\"mp33\"成爲id="mp33"。它更容易只寫('<textarea att="value"')

其次,爲什麼不建立音頻並通過方法設置src?

snd1 = new Audio(); 
snd1.src = $(mp33).val(); 
snd1.play(); 

$(mp33)是否存在?

編輯:我剛剛看到您正在使用的textarea來獲取值,而是使用的.text()方法:

snd1 = new Audio(); 
    snd1.src = $('#mp33').text(); 
    snd1.play(); 
+0

SND1 =新的音頻(); snd1.src = $(mp33).val(); snd1.play();不工作$(mp33).val()返回不帶引號,我猜src期望在引號 – user3218094

+0

src期望一個字符串,.val()返回一個字符串。正如我所說,因爲你正在從textarea讀取它,請嘗試使用.text()而不是.val() – Alex