首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

service跟BroadcastReceive控制的音乐播放器

2012-09-16 
service和BroadcastReceive控制的音乐播放器package cn.com.dne.activity.ceshiimport android.app.Servi

service和BroadcastReceive控制的音乐播放器

package cn.com.dne.activity.ceshi;import android.app.Service;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.content.IntentFilter;import android.media.MediaPlayer;import android.os.IBinder;public class MyService extends Service{MediaPlayer mp;ServiceReceiver serviceReceiver;int status = 1;//当前的状态,1没有声音播放 ,2 正在播放声音,3暂停@Overridepublic IBinder onBind(Intent intent) {//重写的onBind方法// TODO Auto-generated method stubreturn null;}@Overridepublic void onCreate() {//重写的onCreate方法// TODO Auto-generated method stubstatus = 1;serviceReceiver = new ServiceReceiver();//创建BroadcastReceiverIntentFilter filter = new IntentFilter();//创建过滤器filter.addAction("wyf.ytl.control");//添加ActionregisterReceiver(serviceReceiver, filter);//注册BroadcastReceiversuper.onCreate();}@Overridepublic void onDestroy() {//重写的onDestroy方法// TODO Auto-generated method stubunregisterReceiver(serviceReceiver);//取消注册super.onDestroy();}public class ServiceReceiver extends BroadcastReceiver{//自定义BroadcastReceiver@Overridepublic void onReceive(Context context, Intent intent) {//重写的响应方法// TODO Auto-generated method stubint action = intent.getIntExtra("ACTION", -1);//得带需要的数据switch(action){case 1://播放或暂停声音if(status == 1){//当前没有声音播放mp = MediaPlayer.create(context, R.raw.nx);status = 2;Intent sendIntent = new Intent("wyf.ytl.update");sendIntent.putExtra("update", 2);sendBroadcast(sendIntent);mp.start();}else if(status == 2){//正在播放声音mp.pause();//停止status = 3;//改变状态 Intent sendIntent = new Intent("wyf.ytl.update");sendIntent.putExtra("update", 3);//存放数据sendBroadcast(sendIntent);//发送广播}else if(status == 3){//暂停中mp.start();//播放声音status = 2;//改变状态Intent sendIntent = new Intent("wyf.ytl.update");sendIntent.putExtra("update", 2);//存放数据sendBroadcast(sendIntent);//发送广播}break;case 2://停止声音if(status == 2 || status == 3){//播放中或暂停中mp.stop();//停止播放status = 1;//改变状态Intent sendIntent = new Intent("wyf.ytl.update");sendIntent.putExtra("update", 1);//存放数据sendBroadcast(sendIntent);//发送广播}}}}}

?

热点排行