2011-06-28 70 views
5

以“Pandora for Android”为例,很容易理解这方面的一个例子。隐藏活动时播放视频

我的活动有一个VideoView从一个班级演讲。 我希望能够从这个活动切换到另一个活动(在我的应用程序或不同的应用程序(主屏幕,其他应用程序)),而不会中断。

使用Pandora示例,我可以在播放音乐的同时转到“切换广播电台”视图,我可以进入主屏幕并继续在手机上无缝导航。

这只可能用于视频或音频吗?我可以播放视频文件中的音频,然后轻松切换回去吗?

回答

4

处理这个问题的一般方法(以及Pandora如何处理它)是在后台线程上从服务播放音乐。在这种情况下VideoView无法使用,因为它是一个视图,并且与一个活动相关联。

我会通过从Android VideoView代码开始,将它分成两部分,一部分用于处理UI,另一部分用于视频回放。

在后台服务中运行MediaPlayer,当您的视频活动显示时,请使用视频视图界面调用MediaPlayer.setDisplay(),并在视频视图隐藏时调用MediaPlayer.setDisplay()。

显然这比直接使用VideoView要复杂得多,需要启动服务并与UI进行协调。您也可能会在后台线程中运行MediaPlayer而不是服务。

+0

有没有人得到这个效果?我试图在活动进入后台时遇到从玩家分离Surface的问题。 – Rawler

+0

每当活动离开时,媒体播放器开始YELLING“错误(1,-2147483648)”。 'setDisplay(null)'没有帮助,'setSurface(null)'也没有。 – Rawler

+0

有没有人设法使此工作? – Petar