Android MediaCodec是否总是提供16位音频输出?

Android MediaCodec是否总是提供16位音频输出?,android,android-mediacodec,Android,Android Mediacodec,我正在使用Android的MediaCodec类从音频文件中读取原始数据。那很好用 问题是我不知道假设输出数据总是16位是否安全 我可以通过实验判断输出是16位的,但我不知道如何在运行时检查它。MediaCodec文档似乎没有告诉我。MediaFormat键\u通道\u掩码可以告诉我,但MediaCodec似乎没有设置这些标志。它设置采样率和mime类型,但无法明确告诉我位大小 我想,考虑到后续块的呈现时间和采样率之间的差异,我应该能够计算出来,但这似乎不是很令人满意 有没有办法告诉我,或者它写

我正在使用Android的MediaCodec类从音频文件中读取原始数据。那很好用

问题是我不知道假设输出数据总是16位是否安全

我可以通过实验判断输出是16位的,但我不知道如何在运行时检查它。MediaCodec文档似乎没有告诉我。MediaFormat
键\u通道\u掩码可以告诉我,但MediaCodec似乎没有设置这些标志。它设置采样率和mime类型,但无法明确告诉我位大小

我想,考虑到后续块的呈现时间和采样率之间的差异,我应该能够计算出来,但这似乎不是很令人满意


有没有办法告诉我,或者它写在我不必写的地方?

目前,输出总是16位的Android股票。如果将来这种情况发生变化,我们将添加一个指定格式的附加格式键。请注意,
KEY\u CHANNEL\u MASK
只会告诉您包含哪些频道(例如,左、右、中等),而不是示例格式。

否,它不会。如果您有24位PCM(WAV)文件,它将为您提供24位音频。似乎无法确定这一点。我在这里添加了一个问题

所以,如果我假设16位将是未来的证明?是的,这应该是安全的。16位已经不是未来的证明。因为已经支持24位和其他格式