java无法停止使用Android中的MediaPlayer在其他活动中播放声音
我正在尝试在我的Android应用程序中播放背景声音。我使用一个单独的类作为声音管理器。在我的第一个活动中,我开始播放声音,我希望它通过另外两个活动播放。在我的第三节课上,我想让它停下来,再播放一个声音。 但是我有一个问题,停止声音,不知道为什么。我想这与我在Soundmanager类中使用类上下文有关
有人知道如何使声音停止吗?我将链接我的Soundmanager类,因为我想这是唯一相关的。我是编程新手,所以请温柔一点
Soundmanager类 http://codepad.org/KJi6DZN6
# 1 楼答案
使
SoundManager
中的所有方法和类变量都是静态的(并为需要的方法传入一个Context
)我怀疑您可能正在每个活动中创建一个新的
SoundManager
实例,这将创建多个SoundManager
实例。使其静态可访问意味着所有活动都在修改相同的变量另一个注意事项是,我认为您不必有活动
Context
,所以请尝试通过context.getApplicationContext()
传入应用程序的上下文。这将避免将MediaPlayer
对象绑定到任何特定活动# 2 楼答案
只是一个猜测,因为我不知道您是如何共享Soundmanager对象的:
也许您可以在每个应该使用Soundmanager类的活动中创建一个新的Soundmanager类实例。(即,在每一个活动中都有一个
new Soundmanager(context)
,或者在停止活动中至少有一个额外的活动)