2 Stimmen

Android: Lautstärkeregelung: wenn Lautstärketaste oben, Suchleiste oben

Ich habe den folgenden Code für meine SucheBar :

setVolumeControlStream(AudioManager.STREAM_MUSIC);

            final AudioManager audioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
            int maxVolume = audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC);
            int curVolume = audioManager.getStreamVolume(AudioManager.STREAM_MUSIC);

            LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            View layout = inflater.inflate(R.layout.custom_dialog, (ViewGroup) findViewById(R.id.dialog_root_element));

            SeekBar volControl = (SeekBar)alert.findViewById(R.id.dialog_seekbar);

            volControl.setMax(maxVolume);
            volControl.setProgress(curVolume);
            volControl.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
                @Override
                public void onStopTrackingTouch(SeekBar arg0) {
                }

                @Override
                public void onStartTrackingTouch(SeekBar arg0) {
                }

                @Override
                public void onProgressChanged(SeekBar arg0, int arg1, boolean arg2) {
                    audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, arg1, 0);
                }
            });

Das Problem ist, dass ich möchte, wenn Benutzer entscheiden, verwenden Lautstärke Gerät Tasten, meine SucheBar auch nach oben oder unten.

Tatsächlich kann ich mit diesem Code die Lautstärke mit beiden Methoden (Gerätetasten und Code) korrekt steuern, aber wenn ich die Gerätetasten für die Lautstärke verwende, ist meine SucheBar ist statisch.

Irgendwelche Ideen oder Vorschläge?

Ich danke Ihnen!

1voto

Vinay W Punkte 9573

Können Sie dieses Problem lösen, indem Sie die folgenden Diskussionen lesen.

Gibt es einen Hörer, um auf Änderungen der Lautstärke in Android zu achten?

Übernahme der Lautstärketaste unter Android

Ich hoffe, das hilft.

1voto

Yogesh Mane Punkte 353

Prüfen Sie folgende Antwort:

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

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X