Сжатие / кодирование Android Raw PCM

Я пытаюсь найти несколько примеров кода о том, как кодировать необработанные файлы PCM (созданные с помощью AudioRecord) в какой-либо другой сжатый формат.


Я видел много "подсказок" в сети, некоторые указывают на MediaCodec без примеров кода, а некоторые предлагают сторонние организации, у которых нет каких-либо примеров использования для тех, кто с ним не знаком - например, я ... < br>

Я не ищу преобразование в MP3 (насколько я понял, это требует лицензионных отчислений, если я ошибаюсь, я хотел бы услышать об этом).

Еще одна важная вещь для меня - мне нужно, чтобы он был совместим с API> = 16. Я уже знаю некоторые примеры кода MediaMuxer, но он адресован API> = 18, поэтому, к сожалению, я не могу его использовать.

Любая идея / хорошая отправная точка о том, как к этому подойти?


person Oren    schedule 15.01.2015    source источник
comment
попробуйте ogg vorbis: stackoverflow.com/questions/7314816/   -  person samgak    schedule 15.01.2015
comment
Спасибо, я попытался найти пример использования для преобразования pcm / wav, используя ваше предложение, но не нашел. Вы можете указать мне пример использования?   -  person Oren    schedule 15.01.2015


Ответы (1)


Недавно я использовал проект Android AAC Encoder для той же цели, и он работал очень хорошо. Мне нужно было поддерживать API 16+, поэтому я тоже не мог использовать подход на основе MediaMuxer. Однако связанная библиотека хорошо соответствовала требованиям. Единственное (совсем немного) раздражает то, что вам нужно скомпилировать jni, чтобы использовать эту библиотеку.

person Bartek Lipinski    schedule 15.01.2015
comment
Спасибо, проверю. Достаточно ли использовать класс AACEncoder или мне нужно сделать что-то до и после публикации, чтобы это заработало? - person Oren; 15.01.2015
comment
Наконец, я получил эту работу (мои проблемы были с включением файлов .so в Android Studio) - person Oren; 18.01.2015