我AudioTrack
用来播放 .wav 音频文件。一切都很好,但我现在已经硬编码了音频文件的位深度,同时AudioTrack
在STATIC_MODE
.
mAudioTrack = new AudioTrack(AudioManager.STREAM_MUSIC, mSampleRate, mChannels,
AudioFormat.ENCODING_PCM_16BIT, dataSize, AudioTrack.MODE_STATIC);
我想以编程方式获取 .wav 文件的位深度/比特率,然后在AudioTrack
对象中设置编码。我曾尝试使用MediaExtractor
,MediaFormat
但它只给了我以下信息:
mediaFormat:{mime=audio/raw, durationUs=10080000, channel-count=1, channel-mask=0, sample-rate=16000}
在 的文档中MediaFormat
,它说这KEY_BIT_RATE
是仅编码器。这是否意味着我只能在编码原始 PCM 位时使用此选项。如果是,还有什么其他方式可以以编程方式读取比特率/比特深度?我已经尝试使用mediainfo
二进制文件在终端上获取同一文件的信息,它为我提供了正确的位深度。