2017-11-01 16 views
1

オーディオプレーヤーを作成していて、1つの問題を解決できません。私は開始と停止の2つのボタンと1つの進捗バーを持っています。進行状況バーを変更しているときに、setOnSeekBarChangeListenerのonStartTrackingTouchメソッドで音楽を停止し、変更が中断されたときにonStopTrackingTouchで音楽をスムーズに変更して再開させます。しかし、StopButtonが押されていて、変更をやめた後に変更が進行中の場合、音楽は再び再生を開始します。変更する前にStopButtonが押されていない場合にのみ、変更を停止してから音楽を再開したい。それを修正するには?stopButtonが押された場合に音楽を停止する

playProgress.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() 
    { 
      @Override 
      public void onProgressChanged (SeekBar seekBar,int i, boolean fromUser){ 
       if(fromUser){ 
        mPlayer.seekTo(i); 
       } 

      } 

      @Override 
      public void onStartTrackingTouch (SeekBar seekBar){ 
       mPlayer.pause(); 
     } 

      @Override 
      public void onStopTrackingTouch (SeekBar seekBar){ 
       mPlayer.start(); 
     } 
    }); 

    //====================================================== 
} 

public void startAudio(View view) { 
     mPlayer.start(); 
} 

public void pauseAudio(View view) { 
     mPlayer.pause(); 
} 

答えて

0

使用常にシンプル旗、これを試してみてください。フラグには任意の可変型を使用できます。この場合、他の方法では通常ブール値になるのが普通ですが、通常はIntになります。

+0

まさに私が欲しいもの!ありがとう!私は旗を試しましたが、それと混同して失敗しました:) – fxvlad

+0

プラスのmake my day;をクリックしてください –

+1

私は喜んでそれをしたいと思いますが、私の評価は15歳以下ですので、私はできません:( – fxvlad

0

playProgress.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() 
    { 
      @Override 
      public void onProgressChanged (SeekBar seekBar,int i, boolean fromUser){ 

      } 

      @Override 
      public void onStartTrackingTouch (SeekBar seekBar){ 
      mPlayer.pause(); 
     } 

      @Override 
      public void onStopTrackingTouch (SeekBar seekBar){ 
       mPlayer.seekTo(seekbar.getProgress()); 
       mPlayer.start(); 
     } 
    }); 

    //====================================================== 
} 
+0

私が望むのは、progressBarの親指を持ち、音楽を弾いている間にそれを変更すると、音楽がジャークします。 – fxvlad

+0

進行を変更/変更したときに音楽を停止し、進行の変更が完了したときに再開 –

関連する問題