2012-09-11 22 views
2

我想在Service類中添加進度對話框。我的應用程序正在播放電臺直播流媒體,但應用程序加載頻道,所以我想添加進度對話框。當開始收音機進度對話框dismiss ..有一個想法? 在此先感謝..如何在Service類中添加進度對話框?

public class MusicService extends Service { 

    private static final String TAG = "MyService"; 
    public static MediaPlayer mediaplayer; 
    String musicfile; 

    @Override 
    public IBinder onBind(Intent intent) { 
     Log.i(" ibinder ", ""); 
     return null; 
    } 

    @Override 
    public void onCreate() { 
     Toast.makeText(this, "My Service Created", 0).show(); 
     Log.i(TAG, "onCreate"); 

     mediaplayer = new MediaPlayer(); 
     mediaplayer.setAudioStreamType(AudioManager.STREAM_MUSIC); 
    } 

    @Override 
    public void onDestroy() { 
     Toast.makeText(this, "My Service Stopped", 0).show(); 
     Log.w(TAG, "onDestroy"); 
     mediaplayer.stop(); 
    } 

    @Override 
    public void onStart(Intent intent, int startid) { 
     Toast.makeText(this, 
       "My Service Started :" + intent + " start id :" + startid, 0) 
       .show(); 

     Log.d(TAG, "onStart"); 
     if (intent.getExtras().getString("paths") == null) { 
      Log.i("Intent Null", "Null"); 
     } else { 
      Log.i("Intent Not Null", "Not Null"); 
      musicfile = intent.getExtras().getString("paths"); 
      Log.i("musicfile", "" + musicfile); 
      startPlayer(); 
      Log.i("startplayer() called",""); 
     } 
    } 

    public void startPlayer() { 
     new Thread(startPlayer).start(); 
    } 

    private Runnable startPlayer = new Runnable() { 
     public void run() { 
      try { 
       mediaplayer.reset(); 
       mediaplayer.setDataSource(musicfile); 
       mediaplayer.prepare(); 
       mediaplayer.start(); 
       Log.i("playchannel", musicfile); 
       Log.e("Media Player Create", "player Create"); 
       Log.i("End startpayer called",""); 
      } catch (IllegalArgumentException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } catch (IllegalStateException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } catch (IOException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } 
     } 
    }; 
} 

這是我的服務類,我想發揮電臺直播流,但電臺直播流媒體採取一些負載玩。所以我想在電臺播放器加載一些時間時做一些處理。

+1

服務沒有任何用戶界面,所以你不能添加任何對話框。 – Jin35

+0

thanks.but還有一個問題,mediaplayer在服務類中啓動時會加載一段時間。那麼如何保持這個? – ckpatel

+0

我實際上不明白你想要什麼。你有一些音樂選擇界面嗎? – Jin35

回答

3

我想要停止進度對話框時,mediaplayer啓動,但媒體播放器啓動後需要一段時間加載收音機頻道,所以只需進度對話框在服務類中使用主要活動對象關閉。像這樣

FMActivity.pDialogs.dismiss(); 

我就是你的問題解決方案。

+0

謝謝...我想這個東西...再次感謝 – ckpatel