2016-07-23 53 views
1

我使用一些Android SDK,它具有VOIP功能。從Android上的OPUS幀創建可播放的音頻文件。

當收到語音數據時,會觸發一些事件。每次被觸發時,它都有一個字節[],這是一個OPUS幀。所以這個事件發生了幾次,每次都有新的幀。

我的問題是,我該如何創建一個可播放的音頻文件? 我試着創建一個byte [],並且每次事件被觸發時,都會爲其添加一個數據,然後將該數組保存到一個文件中,然後播放它。

它沒有工作,我失蹤了?

回答

1

Android可以播放Opus存儲在Matroska/WebM容器或Ogg容器中。 Matroska可以使用libmatroska庫編寫。 Ogg可以使用libogg庫進行編寫。

如果你一個接一個地簡單地連接數據包,那麼會丟失數據包邊界。數據包長度不同,需要每個數據包的長度來解碼數據包。