有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java无法停止使用Android中的MediaPlayer在其他活动中播放声音

我正在尝试在我的Android应用程序中播放背景声音。我使用一个单独的类作为声音管理器。在我的第一个活动中,我开始播放声音,我希望它通过另外两个活动播放。在我的第三节课上,我想让它停下来,再播放一个声音。 但是我有一个问题,停止声音,不知道为什么。我想这与我在Soundmanager类中使用类上下文有关

有人知道如何使声音停止吗?我将链接我的Soundmanager类,因为我想这是唯一相关的。我是编程新手,所以请温柔一点

Soundmanager类 http://codepad.org/KJi6DZN6


共 (2) 个答案

  1. # 1 楼答案

    使SoundManager中的所有方法和类变量都是静态的(并为需要的方法传入一个Context

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

    另一个注意事项是,我认为您不必有活动Context,所以请尝试通过context.getApplicationContext()传入应用程序的上下文。这将避免将MediaPlayer对象绑定到任何特定活动

  2. # 2 楼答案

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

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