5

在我的应用程序中,我试图将播放音频剪辑时的音量设置为最大级别,但它似乎没有任何影响。我必须手动将音量调到最大。这是我的代码:

MediaPlayer mp = new MediaPlayer();
mp.setVolume(1, 1);
4

3 回答 3

10

音频管理器

int origionalVolume = mAudioManager.getStreamVolume(AudioManager.STREAM_MUSIC);
mAudioManager.setStreamVolume(AudioManager.STREAM_MUSIC, mAudioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC), 0);
于 2013-04-26T05:59:40.973 回答
4

用这个

它是总体积

AudioManager mgr = (AudioManager) appContext.getSystemService(Context.AUDIO_SERVICE);
        int valuess = 9;//range(0-15)
mgr.setStreamVolume(AudioManager.STREAM_MUSIC, valuess, 0);

当前歌曲正在播放时用于左右...

AudioTrack m = (AudioTrack) appContext.getSystemService(Context.AUDIO_SERVICE);
m.setStereoVolume(leftVolume, rightVolume);

这个对我有用。

于 2013-04-26T06:01:09.023 回答
1

使用 AudioManager,您可以控制媒体播放器的音量。

AudioManager audioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, 20, 0);

也来自 MediaPlayer

public void  setVolume  (float leftVolume, float rightVolume)

例如,您可以将此方法用作,

int maxVolume = 100;
float log1=(float)(Math.log(maxVolume-currVolume)/Math.log(maxVolume));
mp.setVolume(1-log1);
于 2013-04-26T06:01:27.167 回答