6

我有一个在后台服务中运行的媒体播放器实例。在我的主要活动中,我有一个表面视图。

当活动启动并创建表面视图时,我绑定到服务并将媒体播放器的显示表面设置为我的主要活动的表面视图。我这样做mPlayer.setSurface(sv.getHolder().getSurface());

视频已显示,到目前为止一切正常。当我的surfaceview被销毁时,在surfaceDestroyed()回调中我尝试通过调用将surfaceview与媒体播放器分离mPlayer.setSurface(null);。问题是,当我这样做时,我从媒体播放器收到错误(错误代码 1)。

所以我的问题是,在我设置了 MediaPlayer 对象并设置了 Surfaceview 之后,mPlayer.setSurface(sv.getHolder().getSurface());有没有办法在不停止或重新初始化 mediaplayer 对象的情况下释放或分离该surfaceview?

提前致谢。

4

1 回答 1

0

当用户离开时,您可以避免暂停播放。这将帮助您继续播放。但是还有另一个问题:当您从窗口分离的活动/片段SurfaceView被破坏时。SurfaceView这意味着您必须使用重新创建的用户返回您的应用程序的实例来重新初始化媒体播放器。

于 2014-12-11T05:22:43.913 回答