在android imageview中顺利启动和停止背景音乐

我有一个简单的imageview应用程序,假设当用户到达我的应用程序中的最后一个图像时停止音乐,当用户刷回音乐再次开始..但是,我想停止并顺利启动音乐….我听说过android音乐淡入淡出..并且还读过以前的堆栈溢出用户的post。不幸的是,刚刚成为android …我不知道如何在我的应用程序中实现它…请提供一些代码有解释……

以下是我的代码..

MainActivity.java

import android.app.Activity; import android.content.Intent; import android.media.MediaPlayer; import android.os.Bundle; import android.support.v4.view.ViewPager; import android.support.v4.view.ViewPager.OnPageChangeListener; import android.view.Menu; import android.view.MenuItem; import android.widget.ShareActionProvider; public class MainActivity extends Activity { MediaPlayer oursong; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); oursong = MediaPlayer.create(MainActivity.this, R.raw.a); oursong.seekTo(0); oursong.start(); ViewPager viewPager = (ViewPager) findViewById(R.id.view_pager); final ImageAdapter adapter = new ImageAdapter(this); viewPager.setAdapter(adapter); viewPager.setOnPageChangeListener(new OnPageChangeListener() { @Override public void onPageSelected(int pos) { if (pos == adapter.getCount() - 1) { oursong.pause(); } else if (!oursong.isPlaying()) { oursong.start(); } } @Override public void onPageScrolled(int arg0, float arg1, int arg2) { // TODO Auto-generated method stub } @Override public void onPageScrollStateChanged(int arg0) { // TODO Auto-generated method stub } }); } private ShareActionProvider mShareActionProvider; @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate menu resource file. getMenuInflater().inflate(R.menu.activity_main, menu); // Locate MenuItem with ShareActionProvider MenuItem item = menu.findItem(R.id.menu_item_share); // Fetch and store ShareActionProvider mShareActionProvider = (ShareActionProvider) item.getActionProvider(); // Return true to display menu return true; } // Call to update the share intent private void setShareIntent(Intent shareIntent) { if (mShareActionProvider != null) { mShareActionProvider.setShareIntent(shareIntent); } } @Override protected void onPause() { super.onPause(); oursong.release(); } } 

Imageadapter.java

 import java.io.IOException; import android.app.WallpaperManager; import android.content.Context; import android.support.v4.view.PagerAdapter; import android.support.v4.view.ViewPager; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; public class ImageAdapter extends PagerAdapter { Context context; private final int[] GalImages = new int[] { R.drawable.one, R.drawable.two, R.drawable.three }; ImageAdapter(Context context){ this.context=context; } @Override public int getCount() { return GalImages.length; } @Override public boolean isViewFromObject(View view, Object object) { return view == ((ImageView) object); } @Override public Object instantiateItem(ViewGroup container, final int position) { ImageView imageView = new ImageView(context); int padding = context.getResources().getDimensionPixelSize(R.dimen.padding_small); imageView.setPadding(padding, padding, padding, padding); imageView.setScaleType(ImageView.ScaleType.FIT_XY); imageView.setImageResource(GalImages[position]); imageView.setOnClickListener(new View.OnClickListener() { public void onClick(View view) { WallpaperManager myWallpaperManager = WallpaperManager.getInstance(context); try { myWallpaperManager.setResource(GalImages[position]); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }); ((ViewPager) container).addView(imageView, 0); return imageView; } @Override public void destroyItem(ViewGroup container, int position, Object object) { ((ViewPager) container).removeView((ImageView) object); } }