Android开发音乐播放实现方法
程序员文章站
2022-04-12 20:05:19
activity_main.xml
mainactivity.java
音乐资源要部署在/项目名/assets/资源名下
package com.briup.music;
impor...
activity_main.xml
mainactivity.java
音乐资源要部署在/项目名/assets/资源名下
package com.briup.music; import java.io.ioexception; import android.app.activity; import android.content.res.assetfiledescriptor; import android.content.res.assetmanager; import android.media.mediaplayer; import android.os.bundle; import android.view.view; import android.view.view.onclicklistener; import android.widget.button; //注意监听接口的实现 public class mainactivity extends activity implements onclicklistener{ private button btn_start; private button btn_pause; private button btn_stop; private mediaplayer mplayer; @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); btn_start=(button) findviewbyid(r.id.btn_start);//初始化 btn_start.setonclicklistener(this);//注意不要忘记写 btn_pause=(button) findviewbyid(r.id.btn_pause); btn_pause.setonclicklistener(this); btn_stop=(button) findviewbyid(r.id.btn_stop); btn_stop.setonclicklistener(this); if(mplayer==null){ //音乐播放类 mplayer = new mediaplayer(); } //assets的管理类 assetmanager assetsmanager = getassets(); try { //获取资源 assetfiledescriptor fd = assetsmanager.openfd("item_63.m4a"); //音乐获取数据源 mplayer.setdatasource(fd.getfiledescriptor(), fd.getstartoffset(), fd.getlength()); mplayer.prepare();//预加载音乐资源 } catch (ioexception e) { // todo auto-generated catch block e.printstacktrace(); } } @override public void onclick(view v) { int id=v.getid(); switch (id) { case r.id.btn_start: mplayer.start();//播放音乐 break; case r.id.btn_pause: mplayer.pause();//暂停音乐 break; case r.id.btn_stop: mplayer.pause(); mplayer.seekto(0);//将播放位置调整为开始位置 break; default: break; } } @override protected void ondestroy() { // todo auto-generated method stub super.ondestroy(); if(mplayer!=null){ mplayer.release();//释放音乐资源 } } }