读出报警音量
Read out Alarm volume
我试着用下面的方法读出报警音量,但我总是得到错误的值。铃声音量总是正确的!!
这发生在每部智能手机、HTC、三星、索尼甚至虚拟设备上。可能是什么问题?
private AudioManager amanager;
@Override
public void onCreate(Bundle savedInstanceState)
{
amanager = (AudioManager) this.getSystemService(Context.AUDIO_SERVICE);
}
int volume = 3;
int alarm = 3;
try{
volume = amanager.getStreamVolume(amanager.getStreamVolume(AudioManager.STREAM_RING));
alarm = amanager.getStreamVolume(amanager.getStreamVolume(AudioManager.STREAM_ALARM));
Log.i("!!!!!!!!!!", "Activity!!, Volume ringer: " + volume + " Vol Alarm: " + alarm);
}catch(IllegalArgumentException e){}
我得到的铃声音量值有误。方法 getStreamVolume (int streamType)
得到一个 int
和 returns int
。当你写:
alarm = amanager.getStreamVolume(amanager.getStreamVolume(AudioManager.STREAM_ALARM));
你实际上是在获取闹钟的音量(假设是 X),然后将值 alarm = amanager.getStreamVolume(X);
传递给 alarm
所以结果出乎意料。
将 volume
和 alarm
的值更改为 -
volume = amanager.getStreamVolume(AudioManager.STREAM_RING);
alarm = amanager.getStreamVolume(AudioManager.STREAM_ALARM);
我试着用下面的方法读出报警音量,但我总是得到错误的值。铃声音量总是正确的!! 这发生在每部智能手机、HTC、三星、索尼甚至虚拟设备上。可能是什么问题?
private AudioManager amanager;
@Override
public void onCreate(Bundle savedInstanceState)
{
amanager = (AudioManager) this.getSystemService(Context.AUDIO_SERVICE);
}
int volume = 3;
int alarm = 3;
try{
volume = amanager.getStreamVolume(amanager.getStreamVolume(AudioManager.STREAM_RING));
alarm = amanager.getStreamVolume(amanager.getStreamVolume(AudioManager.STREAM_ALARM));
Log.i("!!!!!!!!!!", "Activity!!, Volume ringer: " + volume + " Vol Alarm: " + alarm);
}catch(IllegalArgumentException e){}
我得到的铃声音量值有误。方法 getStreamVolume (int streamType)
得到一个 int
和 returns int
。当你写:
alarm = amanager.getStreamVolume(amanager.getStreamVolume(AudioManager.STREAM_ALARM));
你实际上是在获取闹钟的音量(假设是 X),然后将值 alarm = amanager.getStreamVolume(X);
alarm
所以结果出乎意料。
将 volume
和 alarm
的值更改为 -
volume = amanager.getStreamVolume(AudioManager.STREAM_RING);
alarm = amanager.getStreamVolume(AudioManager.STREAM_ALARM);