2014-09-22 45 views
0

如何控制Android中媒體播放器中音量按鈕的搜索欄?我需要在播放過程中控制音量按鈕的onClick方法的搜索欄。如何在Android的媒體播放過程中控制音量按鈕點擊時的搜索欄?

的代碼已經在這裏提供:

private void initControls() { 
    // Return the handle to a system-level service - 'AUDIO'. 
    audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE); 

    // Find the seekbar 1 
    mediaVlmSeekBar = (SeekBar) findViewById(R.id.seekBar1); 
    // Set the max range(Volume in this case) of seekbar 
    // for Media player volume 
    mediaVlmSeekBar.setMax(audioManager 
      .getStreamMaxVolume(AudioManager.STREAM_MUSIC)); 
    // Set the progress with current Media Volume 
    mediaVlmSeekBar.setProgress(audioManager 
      .getStreamVolume(AudioManager.STREAM_MUSIC)); 

    try { 
     // Listener to receive changes to the SeekBar1's progress level 
     mediaVlmSeekBar 
       .setOnSeekBarChangeListener(new OnSeekBarChangeListener() { 
        public void onStopTrackingTouch(SeekBar arg0) { 
        } 

        public void onStartTrackingTouch(SeekBar arg0) { 
        } 

        // When progress level of seekbar1 is changed 
        public void onProgressChanged(SeekBar arg0, 
          int progress, boolean arg2) { 
         audioManager.setStreamVolume(
           AudioManager.STREAM_MUSIC, progress, 0); 
        } 
       }); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
} 

//change seekbar when click device button 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
     if (keyCode == KeyEvent.KEYCODE_VOLUME_UP) 
    { 
      mediaVlmSeekBar = (SeekBar) findViewById(R.id.seekBar1); 
      int index = mediaVlmSeekBar.getProgress(); 
      mediaVlmSeekBar.setProgress(index + 1); 
      return true; 
    } else if (keyCode == KeyEvent.KEYCODE_VOLUME_DOWN) 
     { 
      int index = mediaVlmSeekBar.getProgress(); 
      mediaVlmSeekBar.setProgress(index - 1); 
      return true; 
    } 
     return super.onKeyDown(keyCode, event); 
    } 
+0

無法理解您的問題。請進一步解釋 – Ruban 2014-09-22 08:49:12

+0

當媒體播放器正在播放時,當設備上下點擊時,請不要更新音量 – 2014-09-22 09:21:40

回答

1

我已經修改您的代碼和它的工作的罰款。退房

public boolean onKeyDown(int keyCode, KeyEvent event) { 
    AudioManager audio = (AudioManager) this.getSystemService(Context.AUDIO_SERVICE); 
    int currentVolume = audio.getStreamVolume(AudioManager.STREAM_MUSIC); 
    if (keyCode == KeyEvent.KEYCODE_VOLUME_UP) { 
     seekBarVolume.setProgress(currentVolume); 
     return false; 
    } else if (keyCode == KeyEvent.KEYCODE_VOLUME_DOWN) { 
     seekBarVolume.setProgress(currentVolume); 
     return false; 
    } 
    return super.onKeyDown(keyCode, event); 
} 
相關問題