MediaCodec 和 24 位 PCM

2024-01-04

我成功地使用 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}

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

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

如果我知道这个值,那么我可以自己转换它! 我从其他问题中了解到,您也不能指定输出格式。


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MediaCodec 和 24 位 PCM 的相关文章