gpt4 book ai didi

java - 如何修复声音?

转载 作者:行者123 更新时间:2023-12-03 02:33:37 24 4
gpt4 key购买 nike

我在这个问题上停留了太久了。在主菜单屏幕上,我有一个静音按钮。我希望它在我的后台服务中调用一个方法,该方法会使在游戏后台播放的所有MediaPlayer音频静音。

在这里,我从Main_Menu调用静音(x从0开始):

   if ((x%2) == 0) { //If it's even
TwentySeconds.unMute();
Toast.makeText(Main_Menu.this, "UNMUTED", Toast.LENGTH_SHORT).show();
x++;
} else { //If its odd
TwentySeconds.myMute();
Toast.makeText(Main_Menu.this, "MUTED", Toast.LENGTH_SHORT).show();
x++;
}

以下是服务中实际上进行静音的方法:
       public static void myMute() {
ten.setVolume(0, 0);
three.setVolume(0, 0);
}
public static void unMute() {
ten.setVolume(1, 1);
three.setVolume(1, 1);
}

以下是实际播放的媒体播放器,它们会定期播放:
static MediaPlayer ten;
static MediaPlayer three;

问题是,我在这里得到一个空指针异常:
TwentySeconds.myMute();


ten.setVolume(0,0);

顺便说一句,经理是这样实例化的:
AudioManager manager;

后来:
manager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);

这可能是导致问题的原因:

每当音频播放(播放正常)时,我都会收到错误消息:
QCMediaPlayer mediaplayer NOT present
E/MediaPlayer﹕ Should have subtitle controller already set

我真的很感谢任何反馈(正面或负面)!
让我知道是否需要更多代码。

最佳答案

您必须先启动服务

在Main_Menu中的方法中

Intent svIntent = new Intent(this, TwentySeconds.class);
startService(svIntent);

然后调用 TwentySeconds.myMute();
记住将服务添加到 list 文件:
<service android:enabled="true" android:name=".TwentySeconds" />

关于java - 如何修复声音?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33558131/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com