android - SeekBar 首选项更改音量

标签 android media-player volume seekbar preference

我有一个 SeekBarPreference,我想用它来处理应用程序的音量。我在 xml 中创建了 SeekBarPreference,但我真的不知道应该在 java 类中编写什么来配置它。

请帮我配置SeekBarPreference来控制应用程序的音量。 谢谢!

最佳答案

import android.app.Activity;

import android.content.Context;

import android.media.AudioManager;

import android.os.Bundle;

import android.widget.SeekBar;

import android.widget.SeekBar.OnSeekBarChangeListener;

public class MainActivity extends Activity 
{

    /** Called when the activity is first created. */

    private SeekBar volumeSeekbar = null;
    private AudioManager audioManager = null; 

    @Override
    public void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        setVolumeControlStream(AudioManager.STREAM_MUSIC);
        setContentView(R.layout.main);
        initControls();
    }

    private void initControls()
    {
        try
        {
            volumeSeekbar = (SeekBar)findViewById(R.id.seekBar1);
            audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
            volumeSeekbar.setMax(audioManager
                    .getStreamMaxVolume(AudioManager.STREAM_MUSIC));
            volumeSeekbar.setProgress(audioManager
                    .getStreamVolume(AudioManager.STREAM_MUSIC));   


            volumeSeekbar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() 
            {
                @Override
                public void onStopTrackingTouch(SeekBar arg0) 
                {
                }

                @Override
                public void onStartTrackingTouch(SeekBar arg0) 
                {
                }

                @Override
                public void onProgressChanged(SeekBar arg0, int progress, boolean arg2) 
                {
                    audioManager.setStreamVolume(AudioManager.STREAM_MUSIC,
                            progress, 0);
                }
            });
        }
        catch (Exception e) 
        {
            e.printStackTrace();
        }
    }

关于android - SeekBar 首选项更改音量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10627385/

相关文章:

android - 无法将此字符串转换为 JSON

java - Android 中切换状态播放、暂停、停止

c# - 如何检测当前音频设备音量

audio - 使用超出范围的SimpleAudioEngine音量范围是否安全?

java - 在 Activity 之间共享数据的最佳方式是什么?

Android共享 View 过渡结合淡入淡出过渡

android - 我应该如何在 Google Analytics v4 中跟踪 Fragments?

Android 声音文件没有完全播放,被残酷地打断

java - 如何用MediaPlayer调用/data/data中的文件

HTML 音频标签卷