-1

我正在尝试在我的 Android 应用程序中播放背景声音。我正在使用一个单独的类作为 Soundmanager。在我的第一个活动中,我开始播放声音,我希望它通过其他 2 个活动播放。在我的第三节课上,我希望它停止,并且应该播放另一种声音。但是我在停止那个声音时遇到了问题,不知道为什么。我想这与我在 Soundmanager 类中使用类 Context 有关。

有谁知道如何让声音停止?我将链接我的 Soundmanager 课程,因为我猜这是唯一相关的课程。我对编程很陌生,所以请温柔一点。

Soundmanager 类 http://codepad.org/KJi6DZN6

4

2 回答 2

2

将所有方法和类变量设为SoundManager静态(并Context为需要的方法传入 a)。

我怀疑您可能会SoundManager在每个活动中创建一个新实例,这将创建多个SoundManager. 使其可静态访问意味着所有活动都在修改相同的变量。

另一个注意事项,我认为您不必拥有 Activity Context,因此请尝试通过context.getApplicationContext(). 这将避免将MediaPlayer对象绑定到任何特定的活动。

于 2012-04-24T19:37:12.617 回答
0

只是猜测,因为我不知道您如何共享 Soundmanager 对象:

也许您在每个应该使用它的 Activity 中创建 Soundmanager 类的新实例。(即new Soundmanager(context)在它们中的每一个中都有一个,或者在停止活动中至少有一个)。

于 2012-04-24T19:33:25.317 回答