Я использую AudioTrack
для воспроизведения аудиофайла .wav. Все в порядке, но на данный момент я жестко закодировал битовую глубину аудиофайла при инициализации объекта AudioTrack
в STATIC_MODE
.Получение битовой скорости или битовой глубины аудиофайла wav
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
, и он дает мне правильную глубину бит.
Есть решения? Вы можете поделиться им? – kAmol
Пока нет ... Я все еще предполагаю, что знаю бит-глубину аудиофайла. – Swapnil
Значит, вы даете стандартное значение, например, 8, 16 и т. Д.? – kAmol