Что не так с этим аудиопотоком, воспроизводящим код для Android?

У меня проблема с этим кодом для прямой трансляции:

package cm.ex.wwd;

import android.app.Activity;
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.util.Log;

public class AudioStream extends Activity {

 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  String url = "http://www.songblasts.com/songs/hindi/t/three-idiots/01-Aal_Izz_Well-(SongsBlasts.Com).mp3";
  MediaPlayer mp = new MediaPlayer();
  try {
   mp.setDataSource(url);
   mp.setAudioStreamType(AudioManager.STREAM_MUSIC);
   mp.prepare();
   mp.start();
  } catch (Exception e) {
   Log.i("Exception", "Exception in streaming mediaplayer e = " + e);
  }
 }
}

3 ответа

URL, который вы даете, недействителен. Он показывает 404, НЕ НАЙДЕН., поэтому он создает проблему для вас.

Я сделал небольшие изменения в приведенном выше коде. проверить это.

player = new MediaPlayer();
    player.setAudioStreamType(AudioManager.STREAM_MUSIC);
    try {
        player.setDataSource("http://www.hubharp.com/web_sound/BachGavotte.mp3");
        player.setOnErrorListener(this);
        player.setOnPreparedListener(this);
        player.prepareAsync();
    } catch (IllegalArgumentException e) {
        e.printStackTrace();
    } catch (IllegalStateException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }       
}
@Override
public void onDestroy() {
    super.onDestroy();
    player.release();
    player = null;
}
@Override
public void onPrepared(MediaPlayer play) {
    play.start();
}
@Override
public boolean onError(MediaPlayer arg0, int arg1, int arg2) {
    return false;
}

Не зная точной проблемы, трудно ответить. Если вы сделаете это в своем потоке пользовательского интерфейса, вы также можете столкнуться с падением приложения, когда вызов prepare() может занять много времени. Лучше использовать prepareAsync() и связанные слушатели при использовании потоковой передачи.

Как упоминалось ранее, также URL дает 404.

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