Ошибка MediaPlayer при воспроизведении потока MP3 - PullRequest
0 голосов
/ 07 декабря 2010

Я играю с кодом для воспроизведения потока MP3, код выглядит следующим образом;

 try
 {
   URL url = new URL("streamURL");
   URLConnection con = url.openConnection();
   con.connect();
   con.getContent();
   MediaPlayer mp = new MediaPlayer();
   mp.setDataSource(con.getURL().toString());
   mp.prepare();
   mp.start();
 }
 catch(Exception e)
 {
 }

Грубый, но я играю только в минуту. Этот код прекрасно работает в эмуляторе, но при работе на моем Galaxy S я нахожу ошибку "Команда PLAYER_INIT завершена с ошибкой или информацией -105" в файле журнала.

Кто-нибудь сталкивался с этим раньше, и это что-то особенное для Галактики?

Заранее большое спасибо,

Нил.

Ответы [ 2 ]

1 голос
/ 16 октября 2011

Полагаю, вы пытаетесь воспроизвести файл .pls напрямую или что-то подобное.

Попробуйте:

1: код

mediaPlayer = MediaPlayer.create(this, Uri.parse("http://vprbbc.streamguys.net:80/vprbbc24.mp3"));
mediaPlayer.start();

2: файл .pls

Этот URL-адрес предоставлен BBC в качестве примера.Это был файл .pls, который в linux я загружал с

wget http://foo.bar/file.pls

, а затем я открыл с помощью vim (используйте ваш любимый редактор;), и я увидел реальные URL-адреса внутри этого файла.К сожалению, не все .pls имеют такой простой текст.

протестирован с android 1.6 и 2.2.

0 голосов
/ 07 декабря 2010

Попробуйте вместо этого следующее, и посмотрите, работает ли это (не проверено):

try {
    URL url = new URL("streamURL");
    URLConnection con = url.openConnection();
    con.connect();
    con.getContent();
    MediaPlayer mp = MediaPlayer.create(this, Uri.parse(con.getURL.toString()));
    mp.start();
} catch(Exception e)  { } 
...