我正在用解码在线AAC流
MediaCodec
试着玩
AudioTrack
。
AudioTrack
需要
AudioFormat
这需要知道PCM编码的细节。我能够通过将其配置为正确播放音频
ENCODING_PCM_16BIT
但这是否保证始终是16位PCM编码?我不想做那种假设。
我希望
MediaCodec.Callback.onOutputFormatChanged
将编码信息作为
MediaFormat
参数,看起来应该是这样
https://stackoverflow.com/a/49812393/2399236
,但这是我通过调用toString()从媒体格式中获得的所有信息:
aac-drc-heavy-compression=1
sample-rate=48000
aac-drc-boost-level=127
aac-drc-output-loudness=-1
mime=audio/raw
channel-count=2
aac-drc-effect-type=3
aac-drc-cut-level=127
aac-encoded-target-level=-1
aac-max-output-channel_count=8
aac-target-ref-level=64
aac-drc-album-mode=0
我应该假设它是16位PCM吗?或者有什么方法可以获得这些信息吗?
注意:我的目标是minsdk28,目前正在调试器中测试模拟的pixel2neneneba API 30。