安卓中使用MediaPlayer播放音乐时,屏幕旋转会导致音乐停止。

4
我在Android中遇到了一个问题,我认为我需要保留对MediaPlayer对象的引用。
在我的Activity中,我首先实例化MediaPlayer对象,然后可以开始播放所选音乐。问题出现在屏幕旋转时,Activity被销毁,重新创建,然后我失去了对MediaPlayer的引用(因为我没有保存它)。新的对象被创建,下一次用户与手机交互时,音乐停止播放。如何正确地处理它?我应该这样做吗?它不可序列化,所以我不能将其放入onSaveInstanceState(Bundle)中。
谢谢帮助。

你是否使用服务来保持MediaPlayer的引用? - Mojo Risin
不,我是直接在Activity中进行操作的。根据Thorben受到赞同的回答,似乎这是正确的方向。 - Ryan
2个回答

5

我建议将MediaPlayer放在一个服务中,设置绑定并从应用程序内部进行控制。


这完全有道理,我只是希望能够在活动中完成这个操作。如果没有人能够提供在活动中解决此问题的答案,我将标记您的回答为解决方案。 - Ryan

0

我也曾经遇到过同样的问题。由于我不需要屏幕旋转,所以我在清单文件中的活动中添加了android:screenOrientation="portrait"


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接