隐藏活动时播放视频

ste*_*ory 5 video android android-videoview

通过思考"Pandora for Android",最容易理解这方面的一个例子.

我的活动有一个VideoView在课堂上播放讲座.我希望能够不间断地从此活动切换到另一个活动(在我的应用程序中,或转到另一个应用程序(主屏幕,其他一些应用程序)).

使用Pandora示例我可以在播放音乐时转到"切换广播电台"视图,然后我可以转到主屏幕并继续无缝导航.

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

dha*_*g23 4

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

我会通过从 Android VideoView代码开始并将其分成两部分来解决此问题,一部分用于处理 UI,另一部分用于视频播放。

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

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