手机影音11--音乐播放页面
1.创建服务和创建对应的aidl文件
1_创建服务MusicPlayerService.java,基于此类改成IMusicPlayerService.aidl,名字一定要改
在Android studio创建aidl文件,识别时要编译一下
public class MusicPlayerService extends Service { @Override public void onCreate() { super.onCreate(); } /** * 根据位置打开一个音频并且播放 * * @param position */ public void openAudio(int position) { /** * 开始播放音频 */ public void start() { } /** * 暂停 */ public void pause() { } /** * 得到歌曲的名称 */ public String getAudioName() { return ""; } /** * 得到歌曲演唱者的名字 */ public String getArtistName() { return ""; } /** * 得到歌曲的当前播放进度 */ public int getCurrentPosition() { return 0; } /** * 得到歌曲的当前总进度 */ public int getDuration() { return 0; } /** * 播放下一首歌曲 */ public void next() { } /** * 播放上一首歌曲 */ public void pre() { } /** * 得到播放模式 */ public int getPlayMode() { return 0; } /** * 设置播放模式 */ public void setPlayMode(int mode) { } @Override public IBinder onBind(Intent intent) { return stub; } IMusicPlayerService.Stubstub = new IMusicPlayerService.Stub() { MusicPlayerServiceservice = MusicPlayerService.this; @Override public void stop() throws RemoteException { service.stop(); } @Override public void start() throws RemoteException { service.start(); } @Override public void setPlayMode(int mode) throws RemoteException { service.setPlayMode(mode); } @Override public void pre() throws RemoteException { service.pre(); } @Override public void pause() throws RemoteException { service.pause(); } @Override public void openAudio(int position) throws RemoteException { service.openAudio(position); } @Override public void next() throws RemoteException { service.next(); } @Override public int getPlayMode() throws RemoteException { // TODO Auto-generated method stub return service.getPlayMode(); } @Override public int getDuration() throws RemoteException { // TODO Auto-generated method stub return service.getDuration(); } @Override public int getCurrentPosition() throws RemoteException { // TODO Auto-generated method stub return service.getCurrentPosition(); } @Override public String getAudioName() throws RemoteException { // TODO Auto-generated method stub return service.getAudioName(); } @Override public String getArtistName() throws RemoteException { // TODO Auto-generated method stub return service.getArtistName(); } }; }
2_AIDL文件把方法体去掉
package com.atguigu.mobileplayer.audio; interface IMusicPlayerService { /** * 根据位置打开一个音频并且播放 * @param position */ void openAudio(int position); /** * 开始播放音频 */ void start(); /** * 暂停 */ void pause(); /** * 停止 */ void stop(); /** * 得到歌曲的名称 */ String getAudioName(); /** * 得到歌曲演唱者的名字 */ String getArtistName(); /** * 得到歌曲的当前播放进度 */ int getCurrentPosition(); /** * 得到歌曲的当前总进度 */ int getDuration(); /** * 播放下一首歌曲 */ void next(); /** * 播放上一首歌曲 */ voidpre(); /** * 得到播放模式 */ int getPlayMode(); /** * 设置播放模式 */ void setPlayMode(int mode); }
相关推荐
田有朋 2020-05-08
齐天大圣数据候 2019-12-25
zhangxiaocc 2019-11-07
goawalk 2008-08-28
程序员官方BLOG 2015-07-10
LeeEmmmm 2019-06-30
西门吹雪 2019-06-30
huaye00 2019-06-29
文报 2019-06-29
爱传文档 2019-06-29
yuchuanchen 2019-06-29
了缺 2019-06-28
qingjiuquan 2013-05-01
追寻水中桥 2012-10-09
xzkjgw 2011-03-11
mxcsdn 2010-09-29
thomas0yang 2019-06-26