MediaCodec и 24-битный PCM

Я успешно использую MediaCodec для декодирования аудио, однако, когда я загружаю файл с 24-битными сэмплами, у меня нет возможности узнать, что это произошло. Так как приложение предполагало 16-битные выборки, оно терпит неудачу.

Когда я печатаю MediaFormat, я вижу

{mime=audio/raw, durationUs=239000000, bits-format=6, channel-count=2, channel-mask=0, sample-rate=96000}

Я предполагаю, что «битовый формат» будет подсказкой, однако этот ключ не объявлен в API и фактически не выдается при изменении выходного формата. я получил

{mime=audio/raw, what=1869968451, channel-count=2, channel-mask=0, sample-rate=96000}

(Кстати, что такое «что»? Я замечаю, если я интерпретирую как 4charcode, это так »outC"... просто флаг, что это выходной формат?)

Так что же самое лучшее здесь? Если я буду кормитьByteBuffer прямо кAudioTrack конечно, он играет статично (при условии, что PCM 16).

Если я знаю значение, то я могу преобразовать его сам! Из других вопросов я понимаю, что вы не можете диктовать формат вывода.

Ответы на вопрос(0)

Ваш ответ на вопрос