我正在Android中制作一个Radio应用程序。我面临着一个特殊的问题。我知道这可能很简单,但却无法弄清楚如何做到这一点。我相信有人会早点遇到类似的问题,我会在这里找到解决方案
我有第一页显示电台列表。一旦我点击其中任何一个工作站,就会启动一个新的活动,其中包含一个具有播放,暂停,停止控制的视图。启动此活动时,我还会立即使用startSevice()
方法调用新服务。所有媒体播放器处理都在此服务中完成。
现在,我需要在实际的媒体播放开始之前显示进度对话框(缓冲)。为了表明我正在尝试在服务中创建ProgressDialog,但它要求传递上下文,我想我需要传递调用此服务的活动的Context,因为当我将当前Context传递给它,它会抛出一个错误。
怎么做到这一点?有没有办法获得启动服务的活动的上下文?
如果没有,可能是其他一些方法来实现这一点,即在媒体尚未开始播放时显示缓冲状态
使用广播意图。将服务绑定到活动,并以1秒的间隔向活动广播缓冲进度。在接收广播的活动中创建接收器,并将其转换为活动中的进度条。
我有一个问题,也许你可以回答:我正在使用一种服务,就像你一样,但是当缓冲首次开始时,我不清楚当音频开始播放时如何捕获,以便我可以删除“缓冲”通知。我尝试过OnBufferingUpdate,但是音量是否正在播放的百分比值。谢谢。