1

我使用一些具有 VOIP 功能的 Android SDK。

当接收到语音数据时,会触发一些事件。每次它被触发时,它都有一个 byte[] ,这是一个 OPUS 帧。所以这个事件被触发了几次,每次都有新的框架。

我的问题是,我怎样才能用它创建一个可播放的音频文件?我尝试创建一个 byte[] ,每次触发事件时,向其附加一个数据,然后将这个数组保存到一个文件中,然后播放它。

它没有用,我错过了什么?

4

1 回答 1

1

Android 可以播放存储在Matroska / WebM容器或Ogg容器中的 Opus。Matroska 可以使用libmatroska库编写。Ogg 可以使用libogg库编写。

如果您只是一个接一个地连接数据包,那么这将丢失数据包边界。数据包的长度各不相同,并且需要每个数据包的长度来对其进行解码。

于 2016-11-20T00:44:52.663 回答