Service后台服务控制音乐的播放暂停和停止,播放完自动播放下一曲
//添加获得sd卡的状态权限,和读取sd卡的权限 <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/><uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> // MainActivity中用三个按钮,播放,暂停,停止,发送服务到后台服务来控制 public class MainActivity extends Activity implements OnClickListener {private Button puase; private Button stop; private Button start; @Override protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); start = (Button) findViewById(R.id.start); puase = (Button) findViewById(R.id.puase); stop = (Button) findViewById(R.id.stop); start.setOnClickListener(this); puase.setOnClickListener(this); stop.setOnClickListener(this); }@Override public void onClick(View v) {Intent intent = new Intent(MainActivity.this, Service1.class); switch (v.getId()) {case R.id.start:intent.putExtra("key", 1); break; case R.id.puase:intent.putExtra("key", 2); break; case R.id.stop:intent.putExtra("key", 3); break; default:break; }startService(intent); }}//自定义类,继承Service服务 public class Service1 extends Service {private MediaPlayer mediaplayer; private ArrayList<Music> list; private String path = ""; private int index = 0; @Override public IBinder onBind(Intent intent) {return null; }@Override public void onCreate() {super.onCreate(); mediaplayer = new MediaPlayer(); list = new ArrayList<Music>(); //读取SD卡 if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {File file = Environment.getExternalStorageDirectory(); path = file.getAbsolutePath(); }list.add(new Music("男人歌", path + "/nanrenge.mp3")); list.add(new Music("夜色", path + "/yese.mp3")); list.add(new Music("漂洋过海来看你", path + "/piaoyang.mp3")); list.add(new Music("兄弟无数", path + "/xiongdiwushu.mp3")); //播放完成后自定播放下一曲 mediaplayer.setOnCompletionListener(new OnCompletionListener() {@Override public void onCompletion(MediaPlayer mp) {index++; play(); }}); } //用这个方法控制MainActivity发来的服务,控制音乐@Override public int onStartCommand(Intent intent, int flags, int startId) {int m = intent.getIntExtra("key", 0); switch (m) {case 1:play(); break; case 2:// 暂停 if (mediaplayer != null && mediaplayer.isPlaying())mediaplayer.pause(); break; case 3:// 停止 if (mediaplayer != null) {mediaplayer.stop(); stopService(intent); }break; default:break; }return super.onStartCommand(intent, flags, startId); } //播放音乐private void play() {mediaplayer.reset(); try {mediaplayer.setDataSource(list.get(index).getPath()); mediaplayer.prepare(); } catch (Exception e) {e.printStackTrace(); }mediaplayer.start(); }@Override public void onDestroy() {super.onDestroy(); if (mediaplayer != null) {mediaplayer.release(); mediaplayer = null; }}}
Service后台服务控制音乐的播放暂停和停止,播放完自动播放下一曲相关推荐
- 安卓开发,拼接屏幕、大屏幕、户外广告无人值守循环播放视频,图片。开机自动播放,断电后自动播放,重起后自动播放功能
安卓开发,拼接屏幕.大屏幕.户外广告无人值守循环播放视频,图片.开机自动播放,断电后自动播放,重起后自动播放功能 因客户要求,开机自动播放视频,不需要电脑控制,通电自动循环播放视频. 电脑成本太高,最 ...
- linux禁用光驱自动播放,电脑光驱怎么设置禁止自动播放?
光盘插入光驱之中,默认会自动播放,比较方便.但也给病毒的传播提供了便利.可以关闭自动播放的功能,完全可以由用户自己掌握如何运行. 1.开始→控制面板.或者点击任务栏上的控制面板. 2.控制面板→硬件和 ...
- html5手机不能自动播放音乐,H5案例---解决H5中背景音乐无法自动播放问题
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 四.完整代码 您的浏览器不支持 audio标签. // 音乐播放 function autoPlayMusic() { // 自动播放音乐效果,解决浏览器 ...
- html手机不能自动播放音乐,解决移动端浏览器 HTML 音频不能自动播放的三种方法...
由于Android,IOS移动端的浏览器以及微信自带的浏览器为了用户更好的体验,规定不自动播放音频视频,默认屏蔽了autoplay,如果要想达到自动播放效果,需要单独处理,方法有以下几种: 第一种:添 ...
- 计算机win10开机音乐,大师传授win10系统电脑开机总是自动播放音乐的方案
今天小编分享一下win10系统电脑开机总是自动播放音乐问题的处理方法,在操作win10电脑的过程中常常不知道怎么去解决win10系统电脑开机总是自动播放音乐的问题,有什么好的方法去处理win10系统电 ...
- html 添加audio 无法自动播放,移动端不支持audio自动播放解决方案
在开发webapp时,有时候你可能要加点背景音乐,这时我们会用到HTML5音频Audio. 你可能会这样写: 您的浏览器不支持音频播放. 做完后我们放PC端测试可以完美的进行自动播放(当然,是在你浏览 ...
- php禁止视频自动播放,分享新浪视频禁止自动播放的方法
前些天,一篇文章引用了新浪的一个视频,根据以往的经验,引用视频默认是不会自动播放的,但是新浪的视频引用后是自动播放的,这个体验不好,会干扰给网页浏览者,尤其是晚上的时候,打开网页却出来个播放广告的声音 ...
- php实现自动播放ppt,JavaScript_jquery实现简单的自动播放幻灯片效果,本文实例讲述了jquery实现简单 - phpStudy...
jquery实现简单的自动播放幻灯片效果 本文实例讲述了jquery实现简单的自动播放幻灯片效果.分享给大家供大家参考.具体实现方法如下: html部分: Pretty cool eh? This s ...
- u盘自动运行bat_如何让u盘插入电脑后自动播放 u盘插入电脑后自动播放方法
相信大家都知道U盘有一个自动播放的功能,一插入电脑它就自动运行某个程序,本来这个功能是为了大家能更方便的使用U盘,但是由于这个功能经常被病毒利用,所以现在很多杀毒软件检查到AUTORUN.INF文件就 ...
最新文章
- 空间统计分析_5.5 空间数据库的发展趋势
- 在ie7中overflow: hidden失效问题哦及解决方案
- VC2019消息框编程总结
- 【数据结构-图】1.图的构造和遍历(基本理论+代码)
- JavaScript substr() 方法
- 21-特征匹配方法(Brute-Force蛮力匹配)
- 推动Windows的限制:进程和线程
- 浅谈Hybrid技术的设计与实现第二弹
- 第k小的数(二分、partition)
- 手动添加linux用户
- C# 计算一点绕另一点旋转一定角度后新点的坐标
- mysql 丛集_MYSQL
- EF架构~为ObjectContext类型加个Find方法
- 计算机系统更新不上怎么办理,电脑系统更新打不开怎么办
- ai 道德_AI如何提升呼叫中心的道德水平?
- html代码表白_七夕表白代码,樱花特效+爱心特效+花瓣+评论留言功能等
- ISO50001认证辅导,ISO50001能源管理体系的框架审核通过系统的提高能源效率和消耗
- web第二章 namp和massan扫描技术
- mysql绘制er图菱形表示什么意思_ER图中菱形表示的是()
- .NET Core 之 七 EF Core(四)