2015-11-17 90 views
5

我正在使用cordova-plugin-media插件來記錄來自android和ios設備的音頻文件。 但是,android只允許以「.amr」結尾錄製文件,其他的iOS只支持「.wav」。 然而,在Android上iOS設備播放「.wav」時,iOS不支持「.amr」文件。這就是爲什麼我必須以某種方式轉換它們。cordova-plugin-media:在nodejs服務器上解析「.amr」音頻文件

因爲我找不到任何cordova-plugin轉換客戶端上的「.amr」文件,除了this one(它基於外部API並且速度很慢+沒有完全工作 - 此外,我不是一個在客戶端做文件轉換的粉絲),我在服務器端尋找解決方案:

是否有任何JavaScript庫(最好,如果它是「nodejs友好的」)讓我很容易將「.amr」文件轉換爲「.wav」或「.mp3」(或者類似 - 只能在iOS上播放)? 儘管ffmpeg(我無法正常安裝),我找不到任何解決方案...... :(

(在cordova-plugin-media中將mime-type設置爲'audio/wav'創建一個「腐敗」的wav文件,還是使用工具進一步分析它時,AMR編碼...)

我真的很感謝你的幫助

回答

3

我沒有,爲什麼我的問題得到downvoted任何頭緒! - 這個音頻問題似乎是一個大問題...

不過,我想出了一個「解決方案」,我與你分享,如果別人正在sa我的問題,因爲我做了:

www.cloudconvert.com提供了一個非常簡單的api「即時」轉換視頻/音頻/ img文件。

對於node.js中有一個節點包,我可以推薦:https://github.com/cloudconvert/cloudconvert-node

我決定.AMR爲.mp3轉換,現在.WAV(iOS版「標準」),因爲.MP3較小。爲了能夠在iOS設備上播放它,儘管必須從github上描述的(手動)示例中稍微調整比特率。 確保通過下列選項可以在轉換過程:

ccprocess.start({ 
    outputformat: 'mp3', 
    input: 'download', 
    file: 'path-to-your-file', 
    converteroptions: { 
     audio_bitrate: "721", 
     audio_frequency: "44100", 
     audio_qscale: -1 
    } 
    }, function (err, ccprocess) { ... 

快樂編碼/轉換大家;-)

相關問題