gpt4 book ai didi

android - 如何使用带有 setAudioAttributes 的闹钟音量来播放铃声?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:49:48 24 4
gpt4 key购买 nike

因此,我正在努力研究音频属性。这是我到目前为止所拥有的:

// alarm.getSound() will return a proper URI to pick a ringtone
Ringtone tone = RingtoneManager.getRingtone(this, alarm.getSound());
if (Build.VERSION.SDK_INT >= 21) {
AudioAttributes aa = new AudioAttributes.Builder()
.setFlags(AudioAttributes.USAGE_ALARM | AudioAttributes.CONTENT_TYPE_SONIFICATION)
.build();
tone.setAudioAttributes(aa);
} else {
tone.setStreamType(RingtoneManager.TYPE_ALARM);
}
tone.play();

This page谈论音频属性及其“兼容性映射”。如果我之前使用过 setStreamType(TYPE_ALARM)(就像我在上面那样),那么它将设置 CONTENT_TYPE_SONIFICATIONUSAGE_ALARM 标志。我想摆脱 setStreamType 所以我在想如果我手动设置这些标志(就像我上面的那样)然后当铃声播放时它将使用警报音量。好吧,它似乎不是那样工作的。

上面的代码仍然使用我的 Nexus 6 的媒体音量而不是警报音量响铃。我在 6.0 上使用 build MRA68N。我可以做些什么来使用闹钟音量?

最佳答案

在 Moto G Android 6.0 上测试

       if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
AudioAttributes aa = new AudioAttributes.Builder()
.setUsage(AudioAttributes.USAGE_ALARM)
.setContentType(AudioAttributes.CONTENT_TYPE_MUSIC)
.build();
ringtone.setAudioAttributes(aa);
} else {
ringtone.setStreamType(AudioManager.STREAM_ALARM);
}

关于android - 如何使用带有 setAudioAttributes 的闹钟音量来播放铃声?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33961439/

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