Used ViewPager for images sliding,each image onclick stream specific mp3 .
The following actions working correctly:
1-First click ==) play MP3.
1-Second click ==) pause mp3
3-Third click ==) resume playing again the mp3 from where it paused .
After mp3 finished then click the image again to restart it from beginning it doesn't respond to first click,
i tried many code variations with no success .
please any help will be appreciated.
MainActivity
 public class MainActivity extends Activity {
 private ViewPager mViewPager;
  MediaPlayer mp;
  private int length;
 @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();
                   length = mp.getCurrentPosition();
                  }else{
                   mp = MediaPlayer.create(MainActivity.this, R.raw.aa);     
                   mp.seekTo(length);
                   mp.start();
                   mp.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
                        public void onCompletion( MediaPlayer mp) {
                               length = mp.getCurrentPosition();
                            if(mp != null && mp.isPlaying()){
                                   mp = MediaPlayer.create(MainActivity.this, R.raw.aa);                                    
                                   mp.start(); 
                                 }
                            }
                        });
                   }
                }
     return super.onSingleTapConfirmed(e);
          }
       }
    }