package com.example.mp3player;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.app.ActionBar;import android.app.Activity;import android.content.Intent;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.ProgressBar;public class MainActivity extends Activity implements OnClickListener{ActionBar mActionBar;Button pause,play,exit;ProgressBar mProgressBar;static Handler handler;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);mActionBar=getActionBar();mActionBar.hide();pause=(Button) findViewById(R.id.pause);play=(Button) findViewById(R.id.play);exit=(Button) findViewById(R.id.exit);mProgressBar=(ProgressBar) findViewById(R.id.mProgressBar);pause.setOnClickListener(this);play.setOnClickListener(this);exit.setOnClickListener(this);handler=new Handler(){@Overridepublic void handleMessage(Message msg) {Bundle mBundle=new Bundle();mBundle=msg.getData();mProgressBar.setProgress(mBundle.getInt("progress",0));    }};}@Overridepublic void onClick(View v) {int p=0;Intent intent=new Intent("com.example.mp3player.musicService");if(v==play)p=1;else if(v==pause)p=2;else if(v==exit){stopService(intent);this.finish();}Bundle bundle=new Bundle();bundle.putInt("op", p);intent.putExtras(bundle);startService(intent);}}

package com.example.mp3player;import android.app.Service;import android.content.Intent;import android.media.MediaPlayer;import android.os.Bundle;import android.os.IBinder;import android.os.Message;public class MusicService extends Service {private MediaPlayer mediaPlayer=null;@Overridepublic IBinder onBind(Intent intent) {return null;}@Overridepublic void onCreate(){if(mediaPlayer==null){mediaPlayer=MediaPlayer.create(this, R.raw.pin);mediaPlayer.setLooping(true);}}@Overridepublic void onDestroy(){if(mediaPlayer!=null){mediaPlayer.pause();mediaPlayer.stop();mediaPlayer.release();}}@Overridepublic void onStart(Intent intent,int id){if(intent==null) return ;int p=intent.getIntExtra("op", 1);switch(p){case 1:play();break;case 2:pause();break;}}public void play(){if(!mediaPlayer.isPlaying()){mediaPlayer.start();Thread thread=new Thread(new Runnable(){@Overridepublic void run() {while(mediaPlayer!=null&&mediaPlayer.isPlaying()){Bundle bundle=new Bundle();bundle.putInt("progress", mediaPlayer.getCurrentPosition()*100/mediaPlayer.getDuration());Message message=new Message();message.setData(bundle);MainActivity.handler.sendMessage(message);}}});thread.start();}}public void pause(){if(mediaPlayer.isPlaying()){mediaPlayer.pause();}}}

更多相关文章

  1. 代码中设置drawableleft
  2. android 3.0 隐藏 系统标题栏
  3. Android开发中activity切换动画的实现
  4. Android(安卓)学习 笔记_05. 文件下载
  5. Android中直播视频技术探究之—摄像头Camera视频源数据采集解析
  6. 技术博客汇总
  7. android 2.3 wifi (一)
  8. AndRoid Notification的清空和修改
  9. Android中的Chronometer

随机推荐

  1. android重启代码
  2. Android 基础面试题
  3. Android 源码目录结构
  4. Android中XML解析-Dom解析
  5. ANDROID笔记:TextView的简单使用
  6. 【翻译】安卓新播放器EXOplayer介绍
  7. android 短信接收
  8. android自动化测试工具---monkeyrunner工
  9. Android NDK学习 Android.mk实例和NDK实
  10. 飞速浏览器3.0.0 webview 练手项目.