【发布时间】:2017-07-02 07:09:30
【问题描述】:
使用 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);
}
}
}
如有任何帮助,我们将不胜感激。
【问题讨论】:
标签: java android onclick android-viewpager android-mediaplayer