2012-08-04 84 views

回答

1

试试这个代码

XML

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

CODE

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(); 
     } 
    } 
+0

我会在优先活动实施控制通知量,你能帮我吗? – 2012-08-04 15:56:23

+0

ok Dewa Yudie,尝试这种方法,如果你然后无法完成这项任务,那么你可以再次问这里的问题,然后我会帮你... – 2012-08-04 16:20:45

+0

我试过mohsin.mr方法,但我无法完成。 。 你有解决方案吗? – 2012-08-04 17:18:45

0

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

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