我怎样才能获得最低音量?

时间:2015-04-16 19:34:11

标签: android volume android-audiomanager

我知道下面的代码是最大音量

mAudioManager.getStreamMaxVolume

我怎样才能获得最低音量?

我使用的是此代码,但未使用最小音量

mAudioManager.getStreamVolume(0);

这是我的代码

int Minvolume=myAudioManager.getStreamVolume(0);
     int current=myAudioManager.getStreamVolume(AudioManager.STREAM_MUSIC);
     int volume=(int) (current-1);
            if (current>=Minvolume){
                myAudioManager.setStreamVolume(AudioManager.STREAM_MUSIC, volume, 0);
                handler.postDelayed(this, 10000);
                System.out.println("ADJUST LOWER");
            }
            else if (current!=Minvolume){
                System.out.println("volume is minimum");    
            }   

2 个答案:

答案 0 :(得分:0)

请尝试以下操作以减少音乐流的音量......

for (int volume = myAudioManager.getStreamVolume(AudioManager.STREAM_MUSIC) - 1; volume >= 0; volume--) {
    //
    // add your delay code here
    //

    // Call a method to set absolute volume
    setVolume(volume);
}

private void setVolume(int volume) {
    myAudioManager.setStreamVolume(AudioManager.STREAM_MUSIC, volume, 0);
}

答案 1 :(得分:0)

增加或减少音量的更好方法是使用adjustVolume。

public void decreaseStreamVolume(int volType, AudioManager am){
    am.adjustStreamVolume(volType, AudioManager.ADJUST_LOWER, AudioManager.FLAG_SHOW_UI + AudioManager.FLAG_PLAY_SOUND);
}

您可以根据需要输入AudioManager.STREAM_MUSIC或任何所需的流和AudioManager.ADJUST_LOWER或AudioManager.ADJUST_HIGHER。我相信这是更清洁的执行方式。