暂停后恢复媒体播放器

Resume mediaplayer after paused

使用 ViewPager 进行图片滑动,当点击每张图片时必须流式传输 mp3,其不同的 mp3 从图片到另一个(所有 mp3 存储在应用程序本身,应用程序包括 50 页(图片)和 50 mp3)。

当我正确点击图像音频流时,如果我再次点击它停止 mp3 然后第三次点击它从头重新启动 mp3,

我想要第三次点击从暂停的位置恢复 mp3。

主要活动:

 public class MainActivity extends Activity {
 private ViewPager mViewPager;
 MediaPlayer mp;
    @Override
 public void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
     setContentView(R.layout.activity_main);

     mViewPager= (ViewPager) findViewById(R.id.view_pager);
     ImageAdapter adapter = new ImageAdapter(this);
     mViewPager.setAdapter(adapter);

     final GestureDetector tapGestureDetector = new GestureDetector(this, new TapGestureListener());
     mViewPager.setOnTouchListener(new View.OnTouchListener() {
         public boolean onTouch(View v, MotionEvent event) {
             tapGestureDetector.onTouchEvent(event);
             return false;
         }
     });
 }

 private class TapGestureListener extends GestureDetector.SimpleOnGestureListener {
     @Override
   public boolean onSingleTapConfirmed(MotionEvent e) {

      if (mViewPager.getCurrentItem() == 0) {

            if(mp != null && mp.isPlaying()){
               mp.pause();

              }else{

               mp = MediaPlayer.create(MainActivity.this, R.raw.aa);                  
               mp.start();

                  }
               }    
      else if (mViewPager.getCurrentItem() == 1) {

            if(mp != null && mp.isPlaying()){
               mp.pause();


             }else{

              mp = MediaPlayer.create(MainActivity.this, R.raw.bb);
              mp.start();

                   }
               }
     else if (mViewPager.getCurrentItem() == 2) {

           if(mp != null && mp.isPlaying()){
              mp.pause();

             }else{

             mp = MediaPlayer.create(MainActivity.this, R.raw.cc);
             mp.start();
                }
            }
    else if (mViewPager.getCurrentItem() == 3) {                  

          if(mp != null && mp.isPlaying()){
             mp.pause();

             }else{

             mp = MediaPlayer.create(MainActivity.this, R.raw.dd);
             mp.start();
                }
           }
   else if (mViewPager.getCurrentItem() == 4) {                  

         if(mp != null && mp.isPlaying()){
            mp.pause();

            }else{

           mp = MediaPlayer.create(MainActivity.this, R.raw.ee);
           mp.start();
                }
         } else if (mViewPager.getCurrentItem() == 5) {                  

             if(mp != null && mp.isPlaying()){
                 mp.pause();

              }else{

           mp = MediaPlayer.create(MainActivity.this, R.raw.ff);
           mp.start();
                }
         }
  else if (mViewPager.getCurrentItem() == 6) {

             if(mp != null && mp.isPlaying()){
                 mp.pause();

              }else{

           mp = MediaPlayer.create(MainActivity.this, R.raw.gg);
           mp.start();
                }           
         }

         return super.onSingleTapConfirmed(e);
         }
     } 
 }

如有任何帮助,我们将不胜感激。

我可以正确管理同一张图片的三次点击,如下所示:

1-第一次点击==)播放MP3。

1-第二次点击 ==) 暂停 mp3

3-第三次点击 ==) 从暂停的地方重新开始播放 mp3。

 if (mViewPager.getCurrentItem() == 0) {
          if(mp != null && mp.isPlaying()){
              mp.pause();
           length = mp.getCurrentPosition();

             }else{

             mp = MediaPlayer.create(MainActivity.this, R.raw.aa);
             mp.seekTo(length);

             mp.start();
             }             

          }