2013-08-24 71 views
4

我創建了一個MediaPlayer類來播放mp3文件。一切都很好,然後我的播放器在後臺停止播放,我發現我的問題是我沒有在服務中創建它,所以我開始閱讀服務以瞭解如何創建一個並將其用於我的播放器。使用服務的Android媒體播放器

我的問題是,我的服務和我的應用程序之間進行通信的最佳方式是什麼?我應該使用該消息還是發送意圖或將其綁定?

我還應該在通知區域創建一個用戶界面,同時顯示進度緩衝。我是否從服務端創建了一個監聽器,或者有更好的方法?提前

感謝:

我用這些例子來學習,但我沒有學會如何使用onBind方法呢。

編輯:我需要有時要求玩家向我發送正在播放的曲目細節,並且播放器告訴我緩衝區更新,以便我可以更新搜索欄。我是否一直向玩家發送意圖,還是應該使用IBinder?

回答

1

要在服務和活動之間進行通信,我更喜歡Broadcast Receiver。從服務發送廣播並在活動中接收。

+0

所以我不停地發送像播放,暫停..等等接收消息,並使用例如切換案件來處理每件事情? @pratik –

+0

你想從服務發送到活動到底是什麼?我的意思是哪種數據? –

+0

我的程序主要是1個活動和許多片段,但我的意思是我應該發送到像play,pause..etc這樣的playerService命令?如果我創建一個監聽器來跟蹤緩衝區更新,它也會好嗎?@pratik –

3

將您的服務綁定到活動(說你的應用程序),當你打開它來控制MediaPlayer。見Binding Service Tutorial Series。使用前臺服務,以便其優先級始終高,並儘可能晚地在內存中死亡。siniuaton