В настоящее время я разрабатываю приложение, которое должно записывать аудио, кодировать его как AAC, передавать его и делать то же самое в обратном принимающем потоке, декодировать AAC и воспроизводить аудио.
Я успешно записал AAC (завернутый в контейнер MP4) с помощью MediaRecorder и успешно прослушивая аудио с помощью AudioRecord. Но мне нужно иметь возможность кодировать звук, когда я его передаю, но ни один из этих классов не помогает мне в этом.
Я немного исследовал и обнаружил, что большинство людей, у которых есть эта проблема, заканчиваются использованием родной библиотеки, такой как ffmpeg.
Но мне было интересно, поскольку Android уже включает StageFright, у которого есть собственный код, который может выполнять кодирование и декодирование (например, AAC encoding и AAC decoding), есть ли способ использовать этот собственный код в моем приложении? Как я могу это сделать?
Было бы здорово, если бы мне нужно было реализовать некоторые классы JNI с их собственным кодом. Кроме того, поскольку это Android-библиотека, это не будет проблемой лицензирования (верьте мне, если я ошибаюсь).