2010-10-14 2 views
2

Я получаю поток AAC с HTTP-сервера и использую это как источник данных для MediaPlayer в Android.
Он играет прекрасно, но когда я пытаюсь выполнить mediaPlayer.seekTo(int position) я получаю следующие ошибки около миллиона раз:
WARN/AACDecoder(13889): AAC decoder returned error -1, substituting silence
WARN/AACDecoder(13889): AAC decoder returned error 10, substituting silence
WARN/AACDecoder(13889): AAC decoder returned error 1, substituting silence
Поиск в потоках AAC на Android

Эта ошибка происходит на Android 2.2, но это не похоже на работу на более ранних версиях либо. Поддержка поиска - обязательное условие в моем приложении, и я хотел бы, чтобы он работал на Android 1.5 - 2.2.

Есть ли хорошее решение о том, как искать в потоках AAC?

ответ

1

Вы не можете искать поданный поток. Как сервер мог справиться с этим?

Даже если вы сохраняете байты, необработанные потоки AAC недоступны (они не содержат информации о поиске). Некоторые медиа-плееры обойдутся этим, разобрав весь файл и индексируя его «на лету» каждый раз, когда они его загружают. Лучшим решением является переупаковка потока в контейнер, например MP4. Ниже приведен пример использования :

MP4Box -add raw_stream.aac -new output_file.mp4 
Смежные вопросы