如何只用一个按钮播放,暂停和停止歌曲?

问题描述:

我试图在android中制作一个应用程序来播放,暂停和停止只有一个按钮的歌曲。如何只用一个按钮播放,暂停和停止歌曲?

任何人都可以告诉我如何使该应用程序?

final Button bPlay = (Button)findViewById(R.id.bPlay); 
      MediaPlayer song1 = MediaPlayer.create(tutorialFour.this, R.raw.fluet); 
     Button bStop = (Button)findViewById(R.id.bStop); 
     bPlay.setWidth(10); 
     song1.setOnCompletionListener(new OnCompletionListener() { 

      public void onCompletion(MediaPlayer mp) { 

       bPlay.setText("Play"); 


      } 
     }); 
     bPlay.setOnClickListener(new View.OnClickListener() { 

      public void onClick(View v) { 
       // TODO Auto-generated method stub 
       b=true; 

       if(bPlay.getText().equals("Play") && b==true) 
       { 

        song1.start(); 

        bPlay.setText("Pause"); 
        b=false; 
       } 

       else if(bPlay.getText().equals("Pause")) 
       { 
        x=song1.getCurrentPosition(); 
        song1.pause(); 
        bPlay.setText("Resume"); 
        Log.v("log",""+x); 
        b=false; 
       } 
       else if(bPlay.getText().equals("Resume") && b==true) 
       { 
        song1.seekTo(x); 
        song1.start(); 
        bPlay.setText("Pause"); 
        b=false; 
       } 


      } 

     }); 
+0

谢谢sanket,你的代码是完全可行的。 – Jayesh

点击一次在播放/暂停之间切换。 双击停止。

如果你有onClickListenerObject的按钮的引用,你可以在那里调用setOnClickListener。

一个按钮,这个想法,我猜,可以如下:

  • 保持一个布尔值,指示播放是否是目前活跃;当您开始播放时将其设置为true,当您停止/暂停或完成时将其设置为false。
  • 在按钮的常规抽头,如果没有播放处于活动状态,然后开始播放
  • 定期抽头,如果播放是活动的,则暂停
  • 在一个长抽头,如果播放是活动的,停止它