2017-03-01 2 views
0

J'ai cette barre de recherche qui prend la valeur du volume du téléphone lorsque j'entre dans l'application (si le volume est au maximum, la barre de recherche est pleine et ainsi de suite). Lorsque je change la valeur de la barre de recherche, le volume du téléphone change (comme il se doit).Modifier la valeur de la barre de recherche lors du changement de volume

Mais mon problème est de savoir comment changer la recherche des boutons de la valeur de la barre lorsque je change le volume du téléphone à travers le volume et le volume vers le bas dans le dispositif

Voici mon code:

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

} 

Répondre

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); 
}