【问题标题】:How can I change volume from volume preference on android?如何从 android 上的音量偏好更改音量?
【发布时间】:2012-08-04 12:39:50
【问题描述】:

我的布局代码下方有一个应用有音量偏好:

<VolumePreference
android:name="Volume Preference"
android:summary="Ringtone Volume"
android:title="Ringtone Volume"
android:key="ringVolPref"/>

但我不知道,如何在课堂上实现?

【问题讨论】:

    标签: android volume preference ringtone


    【解决方案1】:

    试试这个代码

    XML

    <SeekBar android:id="@+id/seekbar"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:max="100"
    android:minWidth="250px"  />
    

    代码

    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.seekbar);
                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();
            }
        }
    

    【讨论】:

    • 我将在偏好活动中实施以控制通知音量,你能帮帮我吗?
    • ok Dewa Yudie,试试这个方法,如果你无法完成这个任务,你可以在这里再问问题,我会帮你...
    • 我试过mohsin.mr这个方法,但我不能完成..你有解决办法吗?
    【解决方案2】:

    在您的情况下,最好的方法是添加到您的 .xml android:streamType。这将改变所选流类型的音量。

    <VolumePreference
               android:title="Alarm volume"
               android:persistent="false"
               android:streamType="alarm"/>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-05-04
      • 1970-01-01
      • 1970-01-01
      • 2011-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多