如何将媒体播放器的音量增加到超出默认的高音量

时间:2014-04-05 07:29:48

标签: android android-mediaplayer volume

以下代码正在运行但未将媒体播放器音量增加到高于默认的最大音量。请帮助

AudioManager am = 
    (AudioManager) getSystemService(Context.AUDIO_SERVICE);

am.setStreamVolume(
    AudioManager.STREAM_MUSIC,
    am.getStreamMaxVolume(AudioManager.STREAM_MUSIC),
    0);

2 个答案:

答案 0 :(得分:1)

MediaPlayer 类的 setVolume() 方法仅接受 [0.0, 1.0] 范围内的标量,但派生自 AudioEffect 的类可用于放大 MediaPlayer 的音频会话。

例如,LoudnessEnhancer 以毫贝尔为单位指定的增益放大样本(即 decibels 的百分之一):

MediaPlayer player = new MediaPlayer();
player.setDataSource("https://www.example.org/song.mp3");
player.prepare();

// Increase amplitude by 20%.
double audioPct = 1.2;
int gainmB = (int) Math.round(Math.log10(audioPct) * 2000);
LoudnessEnhancer enhancer = new LoudnessEnhancer(player.getAudioSessionId());
enhancer.setTargetGain(gainmB);

文档中不清楚,但在我看来 LoudnessEnhancer 在负增益下无法正常工作,因此如果您想降低音量,您可能仍需要使用 MediaPlayer 的 setVolume() 方法。

DynamicsProcessing 提供跨多个通道的多个级,包括一个输入增益级。

答案 1 :(得分:0)

为了增加设备的音量超出系统音量,你必须进入工程师模式。保存下面的代码。并将其粘贴到数字输入框中在调用选项中它会直接将你重定向到工程师模式

      *#*#3646633#*#*

通过这种方式,您可以访问系统设置,确保不使用它可能会影响您的系统性能。