gpt4 book ai didi

java - android audiomanager 中的 MODE_IN_COMMUNICATION 错误?

转载 作者:行者123 更新时间:2023-11-29 23:03:25 25 4
gpt4 key购买 nike

我想,我在 MODE_IN_COMMUNICATION 中发现了一个奇怪的行为。我正在 Android 9.0 上测试它:

audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
audioManager.setMode(AudioManager.MODE_IN_COMMUNICATION);

设置MODE_IN_COMMUNICATION 后,我们在应用程序中丢失了铃声。对于 rington,我使用标准方法:

private void warningSound(Context context) {
try {
Uri notification = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
Ringtone r = RingtoneManager.getRingtone(context, notification);
r.play();
} catch (Exception e) {
e.printStackTrace();
}
}

您可以尝试设置另一种模式,但在 MODE_IN_COMMUNICATION 之后它无济于事 - 铃声仍然会被禁用。

您有解决方案的想法吗? (我应该在耳机和扬声器编程之间切换,因为 3.5 插孔始终连接到设备。)

最佳答案

  private void warningSound(Context context) {
try {
AudioManager audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
int currentMode = audioManager.getMode();
audioManager.setMode(AudioManager.MODE_NORMAL);

Uri notification = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
Ringtone r = RingtoneManager.getRingtone(context, notification);
r.play();

new Handler().postDelayed(() -> audioManager.setMode(currentMode), 3000L);

} catch (Exception e) {
e.printStackTrace();
}
}

关于java - android audiomanager 中的 MODE_IN_COMMUNICATION 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56769931/

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