2011-08-30 66 views
0

在一個podcast應用程序工作我目前正在考慮如何實現一個小玩家(其中包括當前時間播放,播放,暫停,倒帶和前進按鈕的進度條),它將顯示在幾個活動通過我的應用程序 對於在後臺播放播客,我已經實施了一個Service,它負責MediaPlayer和當前播放的播客。玩家小部件在幾個活動

什麼是最好的方法來更新一個小球員多個活動,並能夠暫停和移動當前播放的播客?

在此先感謝。

回答

0

你在正確的軌道上。每個Activity可以控制或看到mediaplayer應綁定到正在運行的服務。如果您在服務中實施Observer design pattern。然後,您可以直接撥打該服務並執行服務回撥至您的活動。

請確保你在後臺播放音頻/視頻在單獨的線程中,因爲服務和活動在同一個線程中運行。

對於你的進度條,我應該實現一個回調函數,如progress(int secondsFromStart,int totalTimeSeconds),它將在綁定服務後立即調用。然後用戶界面可以更新它的進度條,直到它達到totalTimeSeconds或者從服務收到某種類型的暫停呼叫。

0

如果您想在多個活動中使用相同的玩家小部件,那麼您應該嘗試使用Fragments API。這將讓你編寫複雜的用戶界面。您的所有活動都會在代碼中發生細微變化而變成碎片。