2017-05-23 10 views
0

일시 중지 (50 페이지 (이미지) & 50 MP3를 포함하여 응용 프로그램 자체에 저장된 MP3, 응용 프로그램) MP3, 다른 이미지의 다른 MP3를 스트리밍해야하는 각 이미지를 클릭하면. 다시 시작 MediaPlayer를 후 슬라이딩 이미지 ViewPager 사용

내가 다시 클릭의는 처음부터 MP3를 다시 시작을 클릭 한 다음 세번째 MP3를 중지하면 내가 올바르게 이미지를 오디오 스트림을 클릭

나는 위치에서 MP3를 다시 시작하는 세 번째 클릭을 원하는 일시 중지 된 곳

MainActivity :

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

어떤 도움을 주시면 감사하겠습니다.

답변

0

나는 세 번 아래로 정확하게 같은 이미지를 클릭 관리 할 수 ​​있습니다

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

      }