【问题标题】:SeekBar preference change volumeSeekBar 偏好变化量
【发布时间】:2012-05-16 22:02:18
【问题描述】:

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

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

【问题讨论】:

    标签: android media-player volume seekbar preference


    【解决方案1】:
    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();
            }
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-01-23
      • 1970-01-01
      • 2023-04-05
      • 1970-01-01
      • 1970-01-01
      • 2012-11-15
      • 1970-01-01
      • 2015-07-06
      相关资源
      最近更新 更多