android - AudioManager setStreamVolume 没有标志

标签 android android-audiomanager

安卓AudioManager有方法public void setStreamVolume (int streamType, int index, int flags) .

我不想使用任何标志,因为它们都用于启用反馈。 我不想要振动、UI 弹出窗口或任何形式的提示。我不想取消当前播放的铃声。我只想设置流音量,我该怎么做?

如果我在播放铃声时更改音量,是否会影响铃声的音量,还是只会影响以后的铃声?

这是我能找到的关于该主题的最接近的帖子,但它没有回答问题:What do the the flag parameter means and range of possible min and max of droid device

最佳答案

要不设置任何标志,请传递整数 0进入标志参数。

Kotlin 示例:

val am = getSystemService(Context.AUDIO_SERVICE) as AudioManager
am.setStreamVolume(AudioManager.STREAM_NOTIFICATION, volume, 0)

可能的标志包括(source):
FLAG_SHOW_UI                  = 1 << 0;
FLAG_ALLOW_RINGER_MODES       = 1 << 1;
FLAG_PLAY_SOUND               = 1 << 2;
FLAG_REMOVE_SOUND_AND_VIBRATE = 1 << 3;
FLAG_VIBRATE                  = 1 << 4;
FLAG_FIXED_VOLUME             = 1 << 5;
FLAG_BLUETOOTH_ABS_VOLUME     = 1 << 6;
FLAG_SHOW_SILENT_HINT         = 1 << 7;
FLAG_HDMI_SYSTEM_AUDIO_VOLUME = 1 << 8;
FLAG_ACTIVE_MEDIA_ONLY        = 1 << 9;
FLAG_SHOW_UI_WARNINGS         = 1 << 10;
FLAG_SHOW_VIBRATE_HINT        = 1 << 11;
FLAG_FROM_KEY                 = 1 << 12;

此模式显示整数中的每个位代表一个不同的标志。这(通过测试确认)意味着通过 0作为 flags setStreamVolume 的参数表示没有设置标志。

关于android - AudioManager setStreamVolume 没有标志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53579238/

相关文章:

android - 注册。 delphi中Android应用程序的大小

android - 向 FloatingActionButton 添加多个行为

android - rtsp 视频性能作为浏览器触发的 Intent 与我的应用程序触发的 Intent

Android SDK 推特客户端

android - KeyEvent.ACTION_UP 为 ACTION_MEDIA_BUTTON 触发了两次

android - 想要像 Android 中的 Grofers 这样的着陆页 slider

android - 通过耳机播放音乐时通过扬声器播放声音

android - 为什么使用 Mediarecorder Android 录制时我录制的音频比特率始终为零

android - 保持扬声器和耳机的单独音量

java - Android Audiomanager 中调节音量不准确