Android: setVolume и setAudioStreamType (AudioManager.STREAM_VOICE_CALL); - PullRequest
1 голос
/ 31 марта 2011

Я воспроизводю аудиофайл с внутреннего динамика, используя этот код

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

Как настроить громкость?

Ответы [ 2 ]

2 голосов
/ 31 марта 2011

Используйте adjustStreamVolume() на AudioManager.

Хотя, желательно, вы позволяете пользователю устанавливать громкость обычным способом с помощью кнопок управления громкостью.Вы можете указать, каким потоком следует управлять в вашей активности, с помощью setVolumeControlStream().

1 голос
/ 03 сентября 2011

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;
}
...