2012-02-03 816 views
10

我正在開發一個需要通過HTTP向/從服務器傳輸音頻數據的項目。如何調用SPEEX音頻解碼/使用HTML5/JavaScript進行編碼(不使用閃存)

我們需要使用SPEEX壓縮音頻數據。

在Flash中,我們可以使用Alchemy和LibSpeex,但是我們怎麼用JavaScript來做到這一點。可以使用HTML5。

謝謝。

彼得

+0

最有可能的答案是「如果沒有純JS編解碼器,你需要自己寫一個」:( – 2012-02-04 01:11:13

+0

重寫SPEEX庫是...... – 2012-02-04 01:28:21

+0

然後你應該以瀏覽器支持的某種格式進行流式處理。 WebRTC http://www.webrtc.org/沒有人強迫你使用SPEEX? – 2012-02-04 10:01:08

回答

0

我也有類似的要求,最後寫一個Java小程序使用JSpeex並稱之爲從JS。

9

我最近使用的Speex以下JS端口實現一個成功的HTML5/VoIP客戶端,真正真棒東西:

https://github.com/jpemartins/speex.js

現在你需要要麼等待MediaStreamRecorder或跳槍狀我做到了,利用這一點:

https://github.com/jwagener/recorder.js/

至於你如何拼湊一大堆連成一個靈活的系統,你的電話:)

希望幫助

+0

僅供參考,基本實現HTML 5音頻錄製和上傳.. 。剛到編碼部分在這裏:http://learnwithecho.com/testaudio.html – 2013-08-09 21:38:22

+1

嘿sirjamm,我不認爲這個成功soluti在github上?很想看看你是如何得到recorder.js和speex.js一起工作的! – 2013-10-03 22:57:20

1

我正在研究一個名爲AudioRecorder的項目,它完全符合您的需求。你可以在這裏找到它。 https://github.com/dbieber/audiorecorder

這建立在已經提到的emscripten編譯的speex編解碼器上:jpemartins/speex.js。

如果你已經有音頻,只想編碼它,調用Codec.encode(樣本)。您還可以使用AudioRecorder錄製音頻 - 這裏有一個Github上的例子:http://dbieber.github.io/audiorecorder/examples/recorder.html

該實現目前採用1聲道音頻,如果您需要兩個聲道,則可以只編碼或解碼兩次。