服务版音乐播放器
来源:互联网 发布:视频点播php源码 编辑:程序博客网 时间:2024/05/01 15:35
1.自定义一个类继承Service
public class MyService extends Service { private int wz=0; private MediaPlayer mp; @Override public IBinder onBind(Intent intent) { return new MyBinder(); } public class MyBinder extends Binder implements Serializable{ public void play(String path, int arg2) { BoFang(path, arg2); } public void stop() { mp.stop(); mp.reset(); mp=null; } } private void BoFang(String path, int arg2) { if (mp == null) { playMusic(path); } else { if (wz==arg2) { if (mp.isPlaying()) { mp.pause(); } else{ mp.start(); } } else{ mp.stop(); mp.reset(); playMusic(path); } } wz=arg2; } private void playMusic(String path) { mp = new MediaPlayer(); try { mp.setDataSource(path); mp.prepare(); mp.start(); } catch (Exception e) { e.printStackTrace(); } }}
2.配置清单文件
<service android:name="com.example.service.MyService" > </service>
3.开启服务
public class Main2Activity extends Activity { private ListView lv; private MyBinder binder; //定义集合存放音乐 List<Music> list=new ArrayList<Music>(); ServiceConnection conn=new ServiceConnection() { @Override public void onServiceDisconnected(ComponentName name) { } @Override public void onServiceConnected(ComponentName name, IBinder service) { System.out.println("binder 123"); binder=(MyBinder) service; } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main2); init(); //开启服务 Intent service=new Intent(this,MyService.class); bindService(service, conn,BIND_AUTO_CREATE); //得到集合 Intent intent = getIntent(); Object[] mu= (Object[]) intent.getSerializableExtra("list"); for (Object object : mu) { //将音乐保存到集合 list.add((Music)object); } MyAdapter adapter=new MyAdapter(list, this); lv.setAdapter(adapter); lv.setOnItemClickListener(listener); } OnItemClickListener listener=new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { Music music = list.get(arg2); if (binder!=null) { //播放音乐 binder.play(music.getFile().getPath(),arg2); Intent intent=new Intent(Main2Activity.this,Main3Activity.class); intent.putExtra("music", music); intent.putExtra("binder",binder); startActivity(intent); } } }; //初始化控件 private void init() { lv=(ListView)findViewById(R.id.lv); }}
1 0
- 服务版音乐播放器
- 服务与多线程-简单音乐播放器
- 带服务的音乐播放器
- android服务_音乐播放器
- 服务音乐播放
- 音乐播放服务
- 服务播放音乐
- Android前台服务 音乐播放器 前台服务
- Qt版音乐播放器
- 升级版音乐播放器
- 在服务中播放音乐
- 【备忘】Android音乐播放服务
- meego上的音乐播放器服务程序
- Android Mediaplayer本地音乐播放器(绑定服务)
- 使用绑定服务实现一个简单的音乐播放器
- Android开发---音乐播放器(服务类的实现)
- 音乐播放器:添加了广播和后台服务、通知
- 四大天王之全局服务Service,音乐播放器
- 升序和逆序输出
- Linux上实现mpls,ldpd(Quagga)完整步骤
- 零基础学习HTML5—html+css基础【蓝鸥出品】
- 通过JDBC查询数据并放到二维数组中
- eclipse 下载远程git
- 服务版音乐播放器
- javascript与移动app的交互
- 分表和分区的区别
- tyvj P1051 选课
- Angularjs 到处坑
- 从无到有系列之storm-安装部署01
- 微信开源C/C++ RPC框架PhxRPC
- 数组
- 批量归类文件