Есть ли способ перекодировать MP3 или любой другой аудиофайл в Android?

У меня есть исходный MP3-файл, и неизвестно, сколько у него каналов или частота дискретизации. Мне нужно перекодировать его так, чтобы полученный файл имел моно и частоту дискретизации 8 кГц. Формат не важен, пока MediaPlayer может его воспроизводить. Есть ли что-то в SDK, что позволяет мне это сделать.

2 ответа

AFAIK нет.

Похоже, не существует способа использовать MediaPlayer/MediaRecorder для перекодирования MP3 (гипотетически... если вы не ищете транскодирование низкого качества, т.е. воспроизводите файл MP3 с помощью MediaPlayer и настраивает MediaRecorder для записи всего, что приходит через микрофон - часть этого звука будет в формате MP3, который вы играете).

Перекодируйте файл MP3 на вашем локальном компьютере - это лучший выбор.

Вы пытаетесь играть через гарнитуру Bluetooth?

Я экспериментировал с этим некоторое время назад, но не использовал MediaPlayer. Вместо этого я использовал подход, более похожий на приведенный здесь:

http://mindtherobot.com/blog/580/android-audio-play-a-wav-file-on-an-audiotrack/

Я смог получить моно аудио через Bluetooth, но это настоящая боль. Поскольку приложение предназначалось исключительно для личного использования, я в итоге решил просто приобрести лучшую Bluetooth-гарнитуру, поддерживающую новый стандарт стереозвука. Со стереогарнитурой вам вообще не нужно писать код - просто включите Bluetooth, синхронизируйте с устройством, и все готово.

Другие вопросы по тегам