如何在JAVA中使用JMF控制mp3音频音量

时间:2017-12-13 09:35:00

标签: java jmf

我正在使用JMF播放mp3音频文件。它正在播放但我不知道如何控制它的音量?我正在使用

  Intent intent = new Intent(Activity1.this, Activity2.class);
    intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
    intent.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
    startActivity(intent);
    finish();

2 个答案:

答案 0 :(得分:1)

请参阅Player.getGainControl()

  

获取用于控制此Playe r的音频增益的对象。如果此播放器没有GainControl,则getGainControl会返回null。例如,如果getGainControl无法播放音频数据,null可能会返回Player

GainControl上:

  

GainControl是用于处理音频信号增益的接口。

     

增益和增益措施

     

增益是应用于音频信号的乘法值,用于修改信号的幅度。此接口允许以分贝或使用在0.0和0.0之间变化的浮点值指定增益。 1.0。

答案 1 :(得分:0)

我是以这种方式在Android上做到的。

audioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
        final int maxVolume = audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC);
        int curVolume = audioManager.getStreamVolume(AudioManager.STREAM_MUSIC);



        SeekBar volumecontrol = (SeekBar) findViewById(R.id.seekBar);

        volumecontrol.setMax(maxVolume);
        volumecontrol.setProgress(curVolume);
        volumecontrol.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
            @Override
            public void onProgressChanged(SeekBar seekBar, int progress, boolean fromuser) {

                audioManager.setStreamVolume(AudioManager.STREAM_MUSIC,progress, 0);

            }

            @Override
            public void onStartTrackingTouch(SeekBar seekBar) {

            }

            @Override
            public void onStopTrackingTouch(SeekBar seekBar) {

            }
        });