音乐资源的名字:不能有中文,不能有空格,不能有特殊符号,尽量不要全是数字
音乐播放器:MediaPlayer创建的方式一:
一般如果需要添加一个背景音乐,,可以使用这种方式
Java代码:
public class MainActivity extends Activity { private MediaPlayer player; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 1.创建音乐播放器的对象,,,,,通过.create方式去创建 /* * 1.这种创建方式,在音乐停止了以后,再去开始播放,会发生 (-38,0)这个异常------资源问题异常 * 2.当前应用(页面)退出以后,,音乐应该停止 */ // 加载音乐资源的方式1:raw目录下的音乐资源 player = MediaPlayer.create(MainActivity.this, R.raw.onemorenight); } /* * 播放 */ public void play(View view) { // player.reset(); // 开始播放 player.start(); } /* * 暂停 */ public void pause(View view) { if (player.isPlaying()&&player!=null) { player.pause(); } } /* * 停止 */ public void stop(View view) { if (player!=null) { player.stop(); } } /** * 页面销毁,,音乐也要停止 */ @Override protected void onDestroy() { if (player!=null) { //销毁音乐资源 player.release(); //垃圾回收 player=null; } super.onDestroy(); } }
创建音乐播放器的方式二: new MediaPlayer 的方式
Java代码:
public class MainActivity extends Activity { private MediaPlayer player; private boolean flag=false; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 1.创建音乐播放器的对象 player = new MediaPlayer(); } /* * 开始播放 */ public void play(View view) { //进行判断,,状态值 if (flag) {//处于暂停状态 player.start();//继续播放 flag=false; } else { try { //重置资源 ***** player.reset(); // 2.加载音乐资源-----path:音乐资源的路径 //加载音乐资源2:加载sd卡下的音乐资源 // player.setDataSource(Environment.getExternalStorageDirectory()+"/CheapThrills.mp3"); //加载音乐资源3:加载assets目录下的音乐资源 AssetFileDescriptor openFd = getAssets().openFd("sugar.mp3"); player.setDataSource(openFd.getFileDescriptor(), openFd.getStartOffset(), openFd.getLength()); //3.准备 // player.prepare();//同步的准备 player.prepareAsync();//异步的准备 //4.播放 //player.start();//如果当前音乐没播放,,直接播放,,,如果处于暂停状态,继续播放 //准备完成的监听 player.setOnPreparedListener(new OnPreparedListener() { @Override public void onPrepared(MediaPlayer mp) { player.start(); } }); } catch (Exception e) { e.printStackTrace(); } } } /* * 暂停 */ public void pause(View view) { if (player!=null&&player.isPlaying()) { player.pause(); //更改状态值 flag=true; } } /* * 停止 */ public void stop(View view) { if (player!=null) { player.stop(); } } /** * 释放资源 */ @Override protected void onDestroy() { if (player!=null) { player.release();//释放音乐资源 player=null; } super.onDestroy(); } }