欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android开发音乐播放实现方法

程序员文章站 2022-07-05 23:42:40
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();//释放音乐资源
			}
		}
}