2009-10-30 53 views
4

我剛剛遇到了interlabs上的Nintendo emulator written entirely in JavaScript,但它沒有聲音。它讓我思考:有什麼方法可以在瀏覽器中使用JavaScript合成聲音,然後播放它?如果一般情況下不可行,那麼是否有Safari/Opera/FireFox/IE/Etc。這將使它成爲可能嗎?使用JavaScript可以在瀏覽器中播放合成聲音嗎?

我不是在問合成聲音的技巧,只是用於播放由瀏覽器中運行的代碼合成的聲音的技巧。

回答

2

大多數開發人員使用SoundManager 2時,他們想要使用JavaScript爲應用程序添加聲音。它具有鉤子,因此JavaScript可以與Flash 8和9功能交互。我不確定它是否暴露出了我認爲你在使用字節數據的能力,我從來沒有處理過這個問題。

2

原來的NES模擬器的作者發現了一個動態的音頻庫:

https://github.com/bfirsh/dynamicaudio.js

我還沒有嘗試過,但該文檔看好:

VAR dynamicaudio = new DynamicAudio({'swf': '/static/dynamicaudio.swf'})

write(samples); //播放範圍爲-1.0到 1.0的浮點音頻樣本數組。

1

理論上應該可以合成聲音,然後讓瀏覽器使用數據URL播放它們。

實際上,史蒂文威滕斯實際上已經產生了這種技術的​​。 encodeAudio8bitencodeAudio16bit功能是魔術發生的地方。

相關問題