2012-10-17 23 views
1

我有一個網絡音頻項目,需要在頁面上獲取現有標籤,抓住它並通過我的網絡音頻音頻環境播放它。Web音頻HTML5 createMediaElementSource不按預期方式工作? INVALID_STATE_ERR:DOM例外11

<audio id="music" controls="true"> 
    <source src="DW2-AU01.mp3" type="audio/mp3" /> 
</audio> 

也許我犯了一個錯誤在這裏,但文件加載到這樣的緩衝工作:

var source = myAudioContext.createBufferSource(); 
source.buffer = myBuffers['FFA01.mp3']; 
source.connect(myAudioContext.destination); 
source.noteOn(0); 

但是,如果我把它與一個標籤頁上,並嘗試播放的聲音是這樣的:

var source = myAudioContext.createMediaElementSource($('#music')); 
source.connect(myAudioContext.destination); 
source.noteOn(0); 

我得到INVALID_STATE_ERR:DOM異常11.我覺得我已經耗盡了我的谷歌搜索,而HTML5ROCKS例子,每個人的職位有他創造了jQuery的標籤,不使用對e已經存在於頁面上。

這可能嗎?任何幫助表示讚賞!

+0

我看到這個例外在其他情況下被有關CORS和違反跨域規則 –

+0

@MikkoOhtamaa我認爲也一樣,XSS不會允許我從我的CDN XHTTPRequest它。但是這個例子正在加載相同的目錄... – framerate

+2

作爲讀取該線程的任何人的更新,使用createMediaElementSource可以讓您通過API管理音頻,但它仍然由

回答

3

您正在傳遞一個jQuery引用。如果您嘗試發送對本地音頻元素的引用,該怎麼辦?

var source = myAudioContext.createMediaElementSource($('#music')[0]); 
+0

我想這是正確的。我之前曾嘗試過,但在我的印象之下,我可以做source.noteOn(0)並播放聲音,就像它直接加載到我自己的緩衝區中一樣。看起來,這種技術只允許您將音頻從

相關問題