2014-04-01 20 views
0

我正在使用recorder.js上傳用戶的音頻文件在我們的服務器上。這是工作在鉻和Firefox都..但我們的音頻文件將約1分鐘和1分鐘的音頻文件,其產生大約8 MB的文件,這是太大,無法上傳到服務器上..如何減少由Recorder.js創建的wav文件大小

我試圖更新recorderWorker.js文件:

更新交錯方法作爲

function interleave(inputL, inputR) 
{ 
    var result = new Float32Array(inputL.length); 
    for (var i = 0; i < inputL.length; ++i) 
    result[i] = 0.5 * (inputL[i] + inputR[i]); 
    return result; 
} 

並設定通道數作爲

/* channel count */ 
view.setUint16(22, 1, true); 

通過該上面的代碼我的文件是隻有一半的大小,即4 MB。當我在Chrome中播放這個文件時,它正在工作,但是當我在Firefox和Windows媒體播放器中嘗試這個文件時。這是行不通的。在Firefox中,它給出的加載失敗,並在Windows媒體播放器給「Windows媒體播放器遇到問題在播放文件時「。信息。

我已經創建了2個樣品:

http://216.245.194.124/recorduploadsample.com/ 
http://216.245.194.124/recorduploadsample2.com/ 

首先將樣品在兩個鍍鉻工作,Firefox和記錄任何東西之後,我們可以播放錄製的聲音。(這是原代碼文件尺寸較大)

第二抽樣工作僅適用於Chrome無法在Firefox(更新上面的代碼,以減少文件大小)

我需要改變音頻文件的分辨率,以減少文件大小,並應在瀏覽器,Firefox這兩種工作。 ..可以任何人建議的溶膠爲此嗎?

由於提前

+0

您可能會發現此相關:http://stackoverflow.com/questions/16296645/decrease-bitrate-on-wav-file-created-with-recorderjs我需要改變比特率,但這當然也減少了文件大小。 – icedwater

+0

@icedwater是的,我發現這篇文章,並在此基礎上,我改變了通道計數和更新的交錯方法,但這只是在Chrome瀏覽器中工作,而不是在Firefox中...我也想以低分辨率錄製音頻以減小文件大小。有什麼需要改變呢? – aagrawal

+0

我的猜測是?可以是recorder.js或firefox。但這是一個瘋狂的猜測。 – icedwater

回答