Android:需要应用程序的Audio Volume Seekbar来完全改变设备音量

时间:2015-09-09 17:19:07

标签: android volume seekbar android-audiomanager

我需要我的应用内量搜索栏才能更改我应用中的音频音量。我需要将它与设备的主体完全分开。当我更改应用程序中的滑块时,我发现的所有内容都会改变设备的音量。

我希望用户可以选择以较低的音量在我的应用中播放音频,但可能仍然会打开设备,因此电话和闹钟等仍可能达到正常的高音量。

如何在我的应用中设置搜索栏,只控制应用中的音频,而不是打扰其他设备卷?这是我正在使用的代码:

在onCreate方法中调用:

VolumeControls();

除此之外:

private void VolumeControls() {

        final TextView txtView = (TextView)findViewById(R.id.textView1);
        SeekBar seekBar = (SeekBar)findViewById(R.id.sbVolume);

        final AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
        seekBar.setMax(audioManager
                .getStreamMaxVolume(AudioManager.STREAM_MUSIC));
        seekBar.setProgress(audioManager
                .getStreamVolume(AudioManager.STREAM_MUSIC));

        txtView.setText(String.valueOf(audioManager
                .getStreamVolume(AudioManager.STREAM_MUSIC)));

        seekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
            public void onStopTrackingTouch(SeekBar arg0){
            }

            public void onStartTrackingTouch(SeekBar arg0){
            }

            public void onProgressChanged(SeekBar arg0, int progress, boolean arg2)
            {
                audioManager.setStreamVolume(AudioManager.STREAM_MUSIC,
                        progress, 0);
                txtView.setText(String.valueOf(progress));
            }
        });
}

0 个答案:

没有答案