2013-03-15 3 views
0

Я использую функцию MediaPlayer для потоковой передачи живого аудиопотока с удаленного сервера в приложении для Android. Но звук изменчив и заикается. Проблема заключается не в моем Интернете, поскольку фид отлично воспроизводится, когда я воспроизвожу его на компьютере. В чем может быть проблема? * Примечание: потоки живут. Это код, я использую:MediaPlayer() звуковое заикание (android)

MediaPlayer mp = new MediaPlayer(); 
    try{ 
    mp.setDataSource("http://radiotool:80/feed 342.mp3");//hardcoded for testing purposes 
    mp.prepare(); 
    mp.start(); 
    } 
    catch(Exception e) 
    {Log.d("Error came up man",", check the internet connection and stuff.."); 
+0

любой ?????????? –

+0

Вы пытались перелистать другие mp3-файлы? Может быть, проблема в этом mp3, просто гадание. –

+0

Да, я пробовал много разных трансляций, у всех одна и та же проблема заикания, но нормальные mp3-файлы (например, песни) отлично играют ... –

ответ

2

Поток вы ссылаетесь не отправляет большой буфер данных в начале потока. Обычно это не проблема, так как клиент отвечает за определение скорости воспроизведения, просмотра скорости передачи данных и управления буфером на стороне клиента соответственно. Вот почему, когда я дал вам ссылку, чтобы попытаться использовать большой буфер, это не было проблемой для игры.

В принципе, выпадения звука происходят из-за постоянных переполнений буфера. Чтобы исправить это, вам нужно увеличить размер буфера. Кажется, сейчас это невозможно, но другой метод может быть до manage the HTTP client yourself and proxy the data to the MediaPlayer. Эта ссылка довольно старая ... надеюсь, кто-то выяснил, как сделать это по-другому с тех пор. Я не разработчик Android, поэтому не могу сказать вам точно.

Сначала я должен позвонить mp.prepareAsync() и подождать 2 секунды после того, как MediaPlayer сообщит вам, что он готов к запуску. У меня есть догадка, что данные будут продолжать буферизировать в фоновом режиме, пока вы на самом деле не вызовете .start().

+0

Это сработало спасибо. –

Смежные вопросы