gpt4 book ai didi

android - 在设备的媒体音量关闭时播放警报声

转载 作者:行者123 更新时间:2023-11-29 01:05:05 28 4
gpt4 key购买 nike

我正在创建一种警报类型的应用程序。当我打开一个特定的 Activity 时,我想播放一个带有设备警报音量级别的自定义声音。如果设备的媒体音量已关闭而闹钟音量已打开,那么我的自定义声音应该会播放。

我已经尝试过什么:

 private void playAlarmSound(String fileName) {
MediaPlayer p = new MediaPlayer();
AudioManager audioManager= (AudioManager) getSystemService(AUDIO_SERVICE);
try {
AssetFileDescriptor afd = this.getAssets().openFd(fileName);
int volumeLevel=audioManager.getStreamVolume(AudioManager.STREAM_ALARM);
p.setDataSource(afd.getFileDescriptor(), afd.getStartOffset(), afd.getLength());
p.setVolume(volumeLevel,volumeLevel);
afd.close();
p.prepare();
} catch (Exception e) {
e.printStackTrace();
}
p.start();
}

但是当媒体音量打开时它正在播放声音但是当媒体音量关闭时它不播放声音。

最佳答案

您正在读取警报音量级别,但这并不意味着音频将通过该流播放。

您需要构建并设置 AudioAttributes在 MediaPlayer 上,指示 USAGE_ALARM。

换句话说:

p.setAudioAttributes(
new AudioAttributes.Builder()
.setUsage(AudioAttributes.USAGE_ALARM)
.build()
);

关于android - 在设备的媒体音量关闭时播放警报声,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47858136/

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