AudioFormat builder setEncoding поддерживает сомнительные кодировкиAndroid

Форум для тех, кто программирует под Android
Anonymous
AudioFormat builder setEncoding поддерживает сомнительные кодировки

Сообщение Anonymous »

Я пытаюсь установить для экземпляра кодировку ENCODING_AAC_LC
Это фрагмент того, что я пытаюсь сделать

Код: Выделить всё

    ref = JNI_CALL_OBJECT( p_afmt_builder,
jfields.AudioFormat_Builder.setEncoding,
jfields.AudioFormat.ENCODING_AAC_LC );
Поддерживается согласно документации AOSP
https://developer.android.com/reference ... ING_AAC_LC
Однако он всегда выдает эту ошибку и завершается сбоем:
(Код ошибки соответствует ENOSYS, https://cs.android.com/android/platform ... eworks/av/ media/libstagefright/MediaCodec.cpp;l=6615?q=rendring%20output%20error%20)

Код: Выделить всё

createTrack() getOutputForAttr() return error -38 or invalid output handle
createTrack_l(0): AudioFlinger could not create track, status: -38 output 0
Error -38 initializing AudioTrack
Error code -20 when initializing AudioTrack.
Я нашел только три формата, которые не выдают ошибку
ENCODING_PCM_16BIT, PCM_8BIT и PCM_FLOAT также можно увидеть здесь:
https://cs.android.com/android /platform/superproject/main/+/main:system/media/audio_utils/fuzz/format_fuzzer/format_fuzzer.cpp;l=36?q=audio_format_t%20
Однако это не так дайте мне какой-нибудь звуковой вывод для моего потока AAC_LC
Что здесь можно сделать?
Я попробовал все возможные варианты формата, но они приводят либо к отсутствию звука, либо к ошибке Audioflinger.< /п>

Подробнее здесь: https://stackoverflow.com/questions/788 ... s-doubtful

Вернуться в «Android»