2010-08-13 39 views
7

我無法通過網絡搜索找到任何東西,但是有沒有計劃使API生成音頻塊以便在HTML5 <audio>標記中播放?使用Javascript創建音頻<audio>

編輯:這是例如::

PSEUDOCODE:: 
var music = new Song([Array of hertz levels or notes]); 
var box = document.createElement('audio'); 
document.body.appendChild(box); 
box.src = music.convert(); 
box.play(); 

回答

5

在理論上,你可以真正做到這一點現在 - 設置爲data URI,你建立在你的JavaScript動態音頻元素的源屬性。我已經用embed元素和MIDI文件完成了這個工作,它可以在安裝有QuickTime或其他媒體助手的機器上工作。

當然,產生這種情況的原因是生成音頻數據的計算量更大,佔用更多空間(在某些情況下可能會違反數據URL大小限制...... IE和Mobile Safari會心神)。所以您只能使用小剪輯,並且您可能會受到audio標記的開始/停止時間的限制。

Mozilla有一個audio buffer API他們正在努力,這可能會給瀏覽器帶來真正的編程生成音頻。與此同時,它不是數據URI黑客,就是像Flash那樣的插件類型(它在版本10中有一個編程音頻緩衝區)或Java。

還有一點需要注意:幾個月前我開始了JavaScript Audio google group。目前還沒有很多討論,但如果有足夠多的人對瀏覽器中的音樂/音頻/聲音感興趣,那麼我們就會喜歡它,這樣我們就可以達到臨界質量並開始就像這樣的話題的實際對話。

+1

基於Web Audio API最近的一篇文章:http://www.html5rocks.com/en/tutorials/webaudio/games/ – mwcz 2012-03-21 03:00:57

3

的Mozilla已經發布了一個音頻數據API,它在Firefox 4測試版和井田工程Nightlies版:

https://wiki.mozilla.org/Audio_Data_API

http://vocamus.net/dave/?p=1148

據我所知,也有一個類似的WebKit項目。

W3C音頻孵化器小組已經組成 - 他們的任務是「探索開始處理高級音頻功能各個方面的一個或多個規範的可能性,包括讀取和寫入原始音頻數據,以及合成聲音或語音」。

http://www.w3.org/2005/Incubator/audio/

相關問題