回应需求,故做了一个简易版的使用service的音乐播放器。这个音乐播放器支持暂停,停止,开始,前一首,后一首这5个功能。
实现这个播放器主要需要用到三个类,一个是Activtiy,一个是service,另一个是mediaplayer。
首先说明mediaplayer,这是一个既能播放音乐,又能播放视频的类。他有这些方法。
播放:
player.setDataSource(getResources().openRawResourceFd(r[count]).getFileDescriptor());
player.prepare();
player.start();
第一行用于加载音乐资源。可以在实例化类时绑定资源。然后是播放器准备。最后开始。但是为了安全,还是要在播放前用player.reset()将播放器重置一下。
暂停:player.pause();
停止:player.stop();
接着是Service的使用。这里使用了Intent传递Action。这边我自定义了几个诸如播放,暂停,下一首,上一首,停止的Action,在Activtiy中,实现点击事件,然后
if (v == stop) {
Intent intent = new Intent("stop");
intent.setComponent(component);
startService(intent);
tv.setText("已停止。。。");
} else if (v == pause) {
Intent intent = new Intent("pause");
intent.setComponent(component);
startService(intent);
tv.setText("暂停。。。");
} else if (v == start) {
Intent intent = new Intent("play");
intent.setComponent(component);
startService(intent);
tv.setText("播放中。。。");
} else if (v == next) {
Intent intent = new Intent("next");
intent.setComponent(component);
startService(intent);
tv.setText("播放中。。。");
} else if (v == pre) {
Intent intent = new Intent("pre");
intent.setComponent(component);
startService(intent);
tv.setText("播放中。。。");
}
用这样的代码传递到Service中。然后在那边用intent.getAction()接受,并作应用的处理。
最后是资源,我用到的是比较简单的Raw资源。
附图1张:
![](http://hi.csdn.net/attachment/201111/27/0_13223986116wn5.gif)
备注:感觉还是没有审美的说!!!
其れでも良いです.......