博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android四大组件之Service 播放音乐
阅读量:6877 次
发布时间:2019-06-26

本文共 3452 字,大约阅读时间需要 11 分钟。

首先定义接口

package com.example.musicplay;public interface PlayInterface {    void play();    void playContiue();    void pause();}
package com.example.musicplay;import android.app.Service;import android.content.Intent;import android.media.MediaPlayer;import android.os.Binder;import android.os.IBinder;public class PlayService extends Service {    private MediaPlayer mediaPlayer;    @Override    public IBinder onBind(Intent intent) {        // TODO: Return the communication channel to the service.        return new MusicBinder();    }    class MusicBinder extends Binder implements PlayInterface{        @Override        public void play() {            // TODO Auto-generated method stub            PlayService.this.play();        }        @Override        public void playContiue() {            // TODO Auto-generated method stub            PlayService.this.playContiue();        }        @Override        public void pause() {            // TODO Auto-generated method stub            PlayService.this.pause();                    }            }    @Override    public void onCreate() {        mediaPlayer = new MediaPlayer();    }        private void play(){        //重置        mediaPlayer.reset();        try {            mediaPlayer.setDataSource("sdcard/Charlotte Perrelli - Hero.mp3");            //准备            mediaPlayer.prepare();        } catch (Exception e) {            // TODO Auto-generated catcssh block            e.printStackTrace();        }        mediaPlayer.start();    }    private void playContiue(){        mediaPlayer.start();    }    private void pause(){        mediaPlayer.pause();    }}
package com.example.musicplay;import android.os.Bundle;import android.os.IBinder;import android.app.Activity;import android.content.ComponentName;import android.content.Intent;import android.content.ServiceConnection;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;public class MainActivity extends Activity {    private PlayInterface p;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        Intent intent = new Intent(this,PlayService.class);        startService(intent);        bindService(intent, new Conn(), BIND_AUTO_CREATE);                findViewById(R.id.paly).setOnClickListener(new OnClickListener() {                        @Override            public void onClick(View arg0) {                p.play();                            }        });        findViewById(R.id.contiue).setOnClickListener(new OnClickListener() {                        @Override            public void onClick(View arg0) {                p.playContiue();                            }        });        findViewById(R.id.pause).setOnClickListener(new OnClickListener() {                        @Override            public void onClick(View arg0) {                // TODO Auto-generated method stub                p.pause();            }        });    }    class Conn implements ServiceConnection{        @Override        public void onServiceConnected(ComponentName arg0, IBinder arg1) {            // TODO Auto-generated method stub            p = (PlayInterface) arg1;        }        @Override        public void onServiceDisconnected(ComponentName arg0) {            // TODO Auto-generated method stub                    }            }}

 

转载于:https://www.cnblogs.com/84126858jmz/p/4977591.html

你可能感兴趣的文章
dis ospf peer 命令注解
查看>>
字典,函数
查看>>
Linux监控平台——搭建zabbix监控平台
查看>>
linux第11单元 基础网络
查看>>
linuxshell介绍
查看>>
centos6和centos7区别有哪些
查看>>
maven pom进阶教程 - 生成可执行的jar
查看>>
mysql 查询优化技巧
查看>>
比特币前首席开发人员:LN可能还需要18个月
查看>>
Python插件:Python Director
查看>>
用Android-X86和VirtualBox打造高性能Android开发环境
查看>>
解析煎蛋图片
查看>>
IDEA使用教程
查看>>
Java8内存模型—永久代(PermGen)和元空间(Metaspace)
查看>>
1.3windows cmd批处理命令行下使用blat发邮件简洁模板
查看>>
Exchange 2010 迁移至Exchange 2013系列之八:测试ADMT迁移用户账户
查看>>
crontab命令的使用方法
查看>>
centos安装liberoffice及swftool的问题集
查看>>
java的zip压缩
查看>>
cocos2dx物理引擎
查看>>