2011-08-30 63 views
0

在一个podcast应用程序工作我目前正在考虑如何实现一个小玩家(其中包括当前时间播放,播放,暂停,倒带和前进按钮的进度条),它将显示在几个活动通过我的应用程序 对于在后台播放播客,我已经实施了一个Service,它负责MediaPlayer和当前播放的播客。玩家小部件在几个活动

什么是最好的方法来更新一个小球员多个活动,并能够暂停和移动当前播放的播客?

在此先感谢。

回答

0

你在正确的轨道上。每个Activity可以控制或看到mediaplayer应绑定到正在运行的服务。如果您在服务中实施Observer design pattern。然后,您可以直接拨打该服务并执行服务回拨至您的活动。

请确保你在后台播放音频/视频在单独的线程中,因为服务和活动在同一个线程中运行。

对于你的进度条,我应该实现一个回调函数,如progress(int secondsFromStart,int totalTimeSeconds),它将在绑定服务后立即调用。然后用户界面可以更新它的进度条,直到它达到totalTimeSeconds或者从服务收到某种类型的暂停呼叫。

0

如果您想在多个活动中使用相同的玩家小部件,那么您应该尝试使用Fragments API。这将让你编写复杂的用户界面。您的所有活动都会在代码中发生细微变化而变成碎片。