2017-03-01 4 views
0

Ich habe diese Suchleiste, dass, wenn ich die App eingeben, nimmt es den Wert der Lautstärke des Telefons (wenn die Lautstärke maximal ist, ist die Suchleiste voll und so weiter). Wenn ich den Suchbalkenwert ändere, ändert sich die Lautstärke des Telefons (wie es sollte).Ändern der Suchleiste Wert beim Ändern der Lautstärke

Aber mein Problem ist, wie der Wert der Suchleiste zu ändern, wenn ich das Telefon die Lautstärke durch das Volumen und Lautstärke-Tasten im Gerät

Hier ist mein Code ändern:

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



private void initializeUIElements() { 

    sbPlay = (ProgressBar) findViewById(R.id.sbPlay); 
    sbPlay.setMax(100); 
    sbPlay.setVisibility(View.INVISIBLE); 

    btPlay = (Button) findViewById(R.id.btPlay); 
    btPlay.setOnClickListener(this); 

    btStop = (Button) findViewById(R.id.btStop); 
    btStop.setEnabled(false); 
    btStop.setOnClickListener(this); 

    sbVolume = (SeekBar) findViewById(R.id.sbVolume); 
    try { 
     audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE); 
     sbVolume.setMax(audioManager 
       .getStreamMaxVolume(AudioManager.STREAM_MUSIC)); 
     sbVolume.setProgress(audioManager 
       .getStreamVolume(AudioManager.STREAM_MUSIC)); 


     sbVolume.setOnSeekBarChangeListener(new SeekBar.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(); 
    } 

} 

Antwort

0

SOLVEDDD

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
if (keyCode == KeyEvent.KEYCODE_VOLUME_UP) 
{ 
     int index = seekbar.getProgress(); 
     seekbar.setProgress(index + 1); 
     return true; 
} else if (keyCode == KeyEvent.KEYCODE_VOLUME_DOWN) 
{ 
     int index = seekbar.getProgress(); 
     seekbar.setProgress(index - 1); 
     return true; 
} 
return super.onKeyDown(keyCode, event); 
} 
Verwandte Themen