我有一個代碼在shoutcast服務器上播放在線廣播。當應用程序啓動時,它會傳輸文件並播放它。現在的問題是,如果我沒有網絡連接或不正確的網絡連接,應用程序的狀態永遠保持「流式傳輸」模式。我想添加一個線程,該線程應該等待20秒,如果它無法連接到服務器,它應該拋出一個事件退出應用程序,指出「不正確的網絡連接」。 或者,如果有任何其他想法,它會理解以及..代碼播放媒體,如何在流式傳輸URL時應用線程。
public void playFm() {
Uri myUri = Uri.parse("http://108.166.161.206:8826/;stream.mp3");
try
{
if (mp == null) {
this.mp = new MediaPlayer();
} else {
mp.stop();
mp.reset();
}
mp.setDataSource(this, myUri); // Go to Initialized state
mp.setAudioStreamType(AudioManager.STREAM_MUSIC);
streaming=true;
progress.setVisibility(View.VISIBLE);
stream.setVisibility(View.VISIBLE);
stop.setEnabled(false);
mp.setOnPreparedListener(this);
mp.setOnBufferingUpdateListener(this);
mp.setOnErrorListener(this);
mp.prepareAsync();
Log.d(TAG, "LoadClip Done");
} catch (Throwable t) {
Log.d(TAG, t.toString());
}
}
感謝名單全部提前..
無需檢查互聯網連接,因爲如果它只有流媒體,並且無法播放該文件,這自動意味着網絡連接不正確。 – Akshat