MediaCodec和24位PCM

时间:2015-05-14 20:28:06

标签: android mediacodec

我成功使用MediaCodec解码音频,但是当我加载24位样本的文件时,我无法知道这已经发生了。由于应用程序假设是16位样本,因此失败。

当我打印MediaFormat时,我看到了

{mime=audio/raw, durationUs=239000000, bits-format=6, channel-count=2, channel-mask=0, sample-rate=96000}

我假设“bits-format”是一个提示,但是这个键没有在API中声明,并且在输出格式改变时实际上没有发出。我得到了

{mime=audio/raw, what=1869968451, channel-count=2, channel-mask=0, sample-rate=96000}

(顺便说一句什么是“what”键?我注意到如果我将其解释为4charcode,它是“outC”......只是一个标志,它是一种输出格式?)

那么这里最好的办法是什么?如果我将ByteBuffer直接送到AudioTrack,它当然会播放静态(假设PCM 16)。

如果我知道价值,那么我可以自己转换! 我从其他问题中了解到,你也无法决定输出格式。

0 个答案:

没有答案