2016-01-24 219 views
3

我正在將基於cordova的android應用程序中記錄的.mp4文件上傳到服務器,並希望用戶能夠播放它。 Mediainfo表示它是AMR(自適應多速率,快速時間編解碼器類型爲「samr」)。我已經嘗試過各種類型的mime,用於在Chrome中播放,但唯一接近的是audio/mp4:對於該mime類型,Chrome會打開播放器,但表示它永久靜音,並且不會播放任何音頻。對於mime類型audio/amr和audio/amr-nb,chrome下載文件而不是播放它。 Mplayer播放文件好,所以我知道它沒有損壞。在谷歌瀏覽器上播放來自Android/cordova的音頻AMR文件

如果我在服務器上使用「avconv -i src.mp4 dest.mp3」將其轉換爲mp3並將MIME類型更改爲audio/mpeg,則chrome會正確播放它。但我不想用很多服務器週期來做到這一點。

在cordova中是否有將編碼從amr更改爲mp3的規定?如果沒有,有沒有辦法讓色度(和firefox)播放amr mp4文件?

+0

我最終保存了文件的MIME類型(音頻/ AMR)並在頭文件中提供它。然後,Chrome認識到它無法播放該文件並自動下載該文件。但是,即使沒有mime類型,mp4文件中音軌的stbl/stsd格式也是「samr」,這會讓chrome知道它無法播放它。我覺得很奇怪,谷歌會選擇默認的mime類型的android,它是自己的瀏覽器無法處理的。 – MgFrobozz

回答

0

您可選擇使用cloud convert api。這個API可用於轉換視頻,音頻和圖像files.There是node包實現same.You可以使用cordova-plugin-file-transfer與文件處理文件轉換。

+0

謝謝,我會記住,但我正在尋找一種方法來配置手機中文件的編碼。如果沒有辦法做到這一點,我需要在服務器上轉碼,我可以使用avconv(這是免費的)。 – MgFrobozz

相關問題