android.media.AudioManager.setStreamVolume(int streamType,int index,int flags)

时间:2011-06-12 19:41:06

标签: android android-audiomanager

我正在尝试更改通知量,但不是铃声。 但是,当我使用此功能时,通知和铃声音量会发生变化。

示例代码:

AudioManager mAudioManager = (AudioManager) getSystemService(AUDIO_SERVICE);
int volNot = mAudioManager.getStreamVolume(STREAM_NOTIFICATION);
int volRing = mAudioManager.getStreamVolume(STREAM_RING);
Log.d(volNot + "," + volRing, "not, ringer");
mAudioManager.setStreamVolume(STREAM_NOTIFICATION, 1,  0);
volNot = mAudioManager.getStreamVolume(STREAM_NOTIFICATION);
volRing = mAudioManager.getStreamVolume(STREAM_RING);
Log.d(volNot + "," + volRing, "not, ringer");

结果setStreamVolume(STREAM_NOTIFICATION, 1, 0)notifications(STREAM_NOTIFICATION)的值更改为1,但它也会将ringer(STREAM_RING)的值更改为1.

2 个答案:

答案 0 :(得分:4)

这是因为手机有声音设置--->如果有一个勾选框被选中,请取消选中并再次尝试您的代码,此设置表示振铃音量将是您的通知量和签证。

答案 1 :(得分:0)

由于ICS(Android 4.0),Ringer和Notification在官方Android ROMS中共享流量。在此之前,用户可以选择拆分流。