Android:setVolume和setAudioStreamType(AudioManager.STREAM_VOICE_CALL);

时间:2011-03-30 22:34:04

标签: android volume android-audiomanager

我正在使用此代码播放带内置扬声器的音频文件

audioManager = (AudioManager)Context.getSystemService(Context.AUDIO_SERVICE);
audioManager.setSpeakerphoneOn(false);
mediaPlayer.setAudioStreamType(AudioManager.STREAM_VOICE_CALL);

如何设置音量?

2 个答案:

答案 0 :(得分:2)

adjustStreamVolume()上使用AudioManager

但是,最好让用户通过音量控制按钮以正常方式设置音量。您可以通过setVolumeControlStream()指明要在您的活动中控制的流。

答案 1 :(得分:1)

am2是AudioManager系统服务的一个实例。 am2 =(AudioManager)getSystemService(Context.AUDIO_SERVICE);

// makes the media volume adjustment
public static int setVolume(int inputVol, Context sender) {
    int outVol;
    if (inputVol < 0)
        inputVol = 0;
    if (inputVol > am2.getStreamMaxVolume(AudioManager.STREAM_MUSIC))
        inputVol = am2.getStreamMaxVolume(AudioManager.STREAM_MUSIC);
    am2.setStreamVolume(AudioManager.STREAM_MUSIC, inputVol,
            AudioManager.FLAG_SHOW_UI);
    outVol = am2.getStreamVolume(AudioManager.STREAM_MUSIC);
    return outVol;
}