我可以从Socket
. 我需要播放这个字节数组中的音频——音频是用 AMR 8000Hz 编码的。
我发现我可以用MediaPlayer
. 但是,MediaPlayer
无法从字节数组播放音乐,我不想将它们写入文件。
有没有办法在 android 上从字节数组播放 AMR 声音?
AudioTrack
Android 框架允许您使用该类直接从内存中播放音频数据;缺点是音频必须已经解码为 PCM 数据。如果您有幸以 Android 4.1 为目标,则有新的 API 允许您单独解码数据,以便将其传递给AudioTrack
(请参阅MediaExtractor
和MediaCodec
)。但是,在此之前,没有公开的用于编码/解码的 APIMediaRecorder
和MediaPlayer
.
如果针对 4.1 之前的 Android 版本(我想您可能是),您有两种选择:
AudioTrack
MediaPlayer
高温高压