1

我正在 Android 中制作 Radio 应用程序。我面临一个特殊的问题。我知道这可能很容易,但只是无法弄清楚如何做到这一点。我相信之前有人会遇到类似的问题,我会在这里得到解决方案

我有一个显示电台列表的第一页。一旦我点击了这些站点中的任何一个,就会启动一个新的 Activity,它的 View 具有 Play、Pause、Stop 控件。当这个活动开始时,我也立即调用了一个新的 Service usingstartSevice()方法。所有媒体播放器处理都在此服务中完成。

现在,我需要在实际媒体播放开始之前显示一个进度对话框(缓冲)。为了表明我正在尝试在服务中创建一个 ProgressDialog,但它要求传递一个上下文,我想我需要传递调用此服务的活动的上下文,因为当我将当前上下文传递给它,它会引发错误。

如何做到这一点?有没有办法获取启动服务的活动的上下文?

如果没有,还有什么其他方法可以实现这一点,即在媒体尚未开始播放时显示缓冲状态

4

1 回答 1

0

使用广播意图。将服务绑定到活动,并以 1 秒的间隔向活动广播缓冲进度。在 Activity 中创建一个接收器,用于接收广播并将其转换为 Activity 中的进度条。

我有一个问题也许你可以回答:我正在使用服务进行流式传输,就像你一样,但是当缓冲第一次开始时,我不清楚如何捕获音频开始播放的时间,以便我可以删除“缓冲”通知。我尝试了 OnBufferingUpdate ,但它有一个百分比值是音频是否正在播放。谢谢。

于 2011-04-27T16:02:09.987 回答