簡體   English   中英

在其他地方播放Android Cordova中錄制的3gp音頻

[英]Playing back 3gp audio recorded in Android Cordova elsewhere

我希望能夠在Cordova應用程序中的移動設備上錄制音頻,然后在Web應用程序的台式機上播放音頻。 但是,我遇到了一些討厭的編解碼器問題。

根據Cordova的文檔:

Android設備以Adaptive Multi-Rate格式錄制音頻。 指定的文件應以.amr擴展名結尾。

這似乎是錯誤的。 根據此處的信息,.amr文件應具有以以下開頭的標頭:

#!AMR.4

但是, 我的Nexus 7中的音頻文件具有以下標頭:

....ftyp3gp4....

這似乎表明他們應該具有.3gp擴展名。

此外,我認為這兩種格式都不支持本機瀏覽器(在Cordova之外)。 我找到了一個JavaScript amr播放庫 ,但是它無法轉換.3gp文件(即android生成的文件)。 我敢打賭,可以使用類似的方法來解碼.3gp文件,但這似乎是一項艱巨的任務。 我希望避免這種情況。 如果有人願意這樣做,我將永遠感激不已。

如果無法更改Cordova Media API產生的格式,則需要使用解碼器。 純粹的JavaScript解碼解決方案將是理想的選擇,而Flash轉換器將幾乎是一樣的。 我考慮過的其他可能性還有一些問題:

一種可能性是使用另一個應用程序進行轉換。 例如, ffmpeg用於android 我想避免這種情況,因為從Cordova啟動意圖需要Phonegap Build不提供的插件,並且用戶必須處理安裝和操作另一個應用程序。

另一種可能性是在雲中進行解碼。 如果可能,我不想運行任何自己的Web服務。 我試過encoding.com並能夠成功地將我的一個音頻文件轉換為mp4,但是它們尚不支持Dropbox文件監視功能。 而且,例如,由於HIPAA,如果音頻文件需要在到達加密之前進行加密,那么即使不是不可能,雲解碼也會變得非常復雜。

請幫忙。 謝謝。

問題在於Android中沒有很多編碼編解碼器。 如果您查看此表 ,可以看到Android 4.1之前可用的功能。 Phonegap使用AMR-NB作為3gpp容器中的編碼類型。

我對您的建議是在雲端解碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM