900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > android暂停或停止其他音乐播放器的播放

android暂停或停止其他音乐播放器的播放

时间:2022-02-08 02:30:20

相关推荐

android暂停或停止其他音乐播放器的播放

分类:android应用开发 -05-13 14:35 7605人阅读 评论(13) 收藏 举报 音乐 android string action cmd command

今天在csdn上有问这个问题就研究下,正好自己的项目也需要用到,顺便做个记录。

来自android自带的music源码,下面是广播接收的代码,通过发送广播来控制音乐的播放,停止等。

代码如下:

[java]view plain copy print ?publicstaticfinalStringPLAYSTATE_CHANGED="com.android.music.playstatechanged"; publicstaticfinalStringMETA_CHANGED="com.android.music.metachanged"; publicstaticfinalStringQUEUE_CHANGED="com.android.music.queuechanged"; publicstaticfinalStringPLAYBACK_COMPLETE="com.android.music.playbackcomplete"; publicstaticfinalStringASYNC_OPEN_COMPLETE="com.android.music.asyncopencomplete"; publicstaticfinalStringSERVICECMD="com.android.music.musicservicecommand"; publicstaticfinalStringCMDNAME="command"; publicstaticfinalStringCMDTOGGLEPAUSE="togglepause"; publicstaticfinalStringCMDSTOP="stop"; publicstaticfinalStringCMDPAUSE="pause"; publicstaticfinalStringCMDPREVIOUS="previous"; publicstaticfinalStringCMDNEXT="next"; privateBroadcastReceivermIntentReceiver=newBroadcastReceiver(){ @Override publicvoidonReceive(Contextcontext,Intentintent){ Stringaction=intent.getAction(); Stringcmd=intent.getStringExtra("command"); if(CMDNEXT.equals(cmd)||NEXT_ACTION.equals(action)){ next(true); }elseif(CMDPREVIOUS.equals(cmd)||PREVIOUS_ACTION.equals(action)){ prev(); }elseif(CMDTOGGLEPAUSE.equals(cmd)||TOGGLEPAUSE_ACTION.equals(action)){ if(isPlaying()){ pause(); }else{ play(); } }elseif(CMDPAUSE.equals(cmd)||PAUSE_ACTION.equals(action)){ pause(); }elseif(CMDSTOP.equals(cmd)){ pause(); seek(0); }elseif(MediaAppWidgetProvider.CMDAPPWIDGETUPDATE.equals(cmd)){ //Someoneaskedustorefreshasetofspecificwidgets,probably //becausetheywerejustadded. int[]appWidgetIds=intent.getIntArrayExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS); mAppWidgetProvider.performUpdate(MediaPlaybackService.this,appWidgetIds); } } };

通过分析可以得出要暂停音乐可以有两种方法,一种是直接发送cmd,另外一种是发送action。

如下暂停音乐播放代码:

[java]view plain copy print ?privatevoidpauseMusic(){ IntentfreshIntent=newIntent(); freshIntent.setAction("com.android.music.musicservicecommand.pause"); freshIntent.putExtra("command","pause"); sendBroadcast(freshIntent); }

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。