Есть ли способ перекодировать 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, синхронизируйте с устройством, и все готово.