2013-07-01 37 views
0

我有一個代碼在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()); 
    } 
} 

感謝名單全部提前..

回答

2

下面是答案..

iRunnable=new Runnable() 
      { 

         @Override 
         public void run() 
         { 
          //do something 
         } 
        }; 

,並在其他功能

Thread th = new Thread() { 
     @Override 
     public void run() { 

       try { 
        Thread.sleep(1000*15); 
        //your code here.. 
        iHandler.postDelayed(iRunnable,20*1000); 
       } 
catch (InterruptedException ie) 
      { 

      } 
    }; 
    th.start(); 
    } 
0

首先你必須檢查您的Internet連接,並添加newtwork國家允許AndroidManifest.xml檔案

+2

無需檢查互聯網連接,因爲如果它只有流媒體,並且無法播放該文件,這自動意味着網絡連接不正確。 – Akshat

相關問題