android暂停或停止其他音乐播放器的播放实现代码

 更新时间:2013年11月02日 09:20:49   作者:  
来自android自带的music源码,下面是广播接收的代码,通过发送广播来控制音乐的播放,停止等

代码如下:

复制代码 代码如下:

     public static final String PLAYSTATE_CHANGED = "com.android.music.playstatechanged";
    public static final String META_CHANGED = "com.android.music.metachanged";
    public static final String QUEUE_CHANGED = "com.android.music.queuechanged";
    public static final String PLAYBACK_COMPLETE = "com.android.music.playbackcomplete";
    public static final String ASYNC_OPEN_COMPLETE = "com.android.music.asyncopencomplete";
    public static final String SERVICECMD = "com.android.music.musicservicecommand";
    public static final String CMDNAME = "command";
    public static final String CMDTOGGLEPAUSE = "togglepause";
    public static final String CMDSTOP = "stop";
    public static final String CMDPAUSE = "pause";
    public static final String CMDPREVIOUS = "previous";
    public static final String CMDNEXT = "next";


   private BroadcastReceiver mIntentReceiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            String action = intent.getAction();
            String cmd = intent.getStringExtra("command");
            if (CMDNEXT.equals(cmd) || NEXT_ACTION.equals(action)) {
                next(true);
            } else if (CMDPREVIOUS.equals(cmd) || PREVIOUS_ACTION.equals(action)) {
                prev();
            } else if (CMDTOGGLEPAUSE.equals(cmd) || TOGGLEPAUSE_ACTION.equals(action)) {
                if (isPlaying()) {
                    pause();
                } else {
                    play();
                }
            } else if (CMDPAUSE.equals(cmd) || PAUSE_ACTION.equals(action)) {
                pause();
            } else if (CMDSTOP.equals(cmd)) {
                pause();
                seek(0);
            } else if (MediaAppWidgetProvider.CMDAPPWIDGETUPDATE.equals(cmd)) {
                // Someone asked us to refresh a set of specific widgets, probably
                // because they were just added.
                int[] appWidgetIds = intent.getIntArrayExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS);
                mAppWidgetProvider.performUpdate(MediaPlaybackService.this, appWidgetIds);
            }
        }
    };


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

如下暂停音乐播放代码:

复制代码 代码如下:

 private void pauseMusic() {
  Intent freshIntent = new Intent();
  freshIntent.setAction("com.android.music.musicservicecommand.pause");
  freshIntent.putExtra("command", "pause");
  sendBroadcast(freshIntent);
 }

相关文章

  • Android移动应用开发指南之六种布局详解

    Android移动应用开发指南之六种布局详解

    Android应用界面要美观好看,就需要运用到一定的布局技术,Android布局是不可忽视的,是android应用界面开发的重要一环,这篇文章主要给大家介绍了关于Android移动应用开发指南之六种布局的相关资料,需要的朋友可以参考下
    2022-09-09
  • Android点击EditText文本框之外任何地方隐藏键盘的解决办法

    Android点击EditText文本框之外任何地方隐藏键盘的解决办法

    这篇文章主要介绍了Android点击EditText文本框之外任何地方隐藏键盘的解决办法,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-01-01
  • Flutter上的数据监控深入理解

    Flutter上的数据监控深入理解

    这篇文章主要给大家介绍了关于Flutter上的数据监控的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Flutter具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-06-06
  • Android多返回栈技术

    Android多返回栈技术

    本文将详情讲解用户通过系统返回按钮导航回去的一组页面,在开发中被称为返回栈 (back stack)。多返回栈即一堆 "返回栈",对多返回栈的支持是在 Navigation 2.4.0-alpha01 和 Fragment 1.4.0-alpha01 中开始的,有兴趣的话一起参与学习
    2021-08-08
  • Android仿QQ长按删除弹出框功能示例

    Android仿QQ长按删除弹出框功能示例

    对于列表来说,如果想操作某个列表项,一般会采用长按弹出菜单的形式,默认的上下文菜单比较难看,而QQ的上下文菜单就人性化多了,整个菜单给用户一种气泡弹出的感觉,而且会显示在手指按下的位置,接下来通过本文给大家分享Android仿QQ长按删除弹出框功能,一起看看吧
    2017-03-03
  • Android中RecyclerView实现多级折叠列表效果(二)

    Android中RecyclerView实现多级折叠列表效果(二)

    这篇文章主要给大家介绍了Android中RecyclerView实现多级折叠列表的相关资料,文中介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-05-05
  • Android项目实现短信的发送、接收和对短信进行拦截

    Android项目实现短信的发送、接收和对短信进行拦截

    本篇文章主要介绍了Android项目实现短信的发送、接收和对短信进行拦截,这是学习Android比较入门的东西,有需要的可以了解一下。
    2016-10-10
  • Android编程UI设计之GridView和ImageView的用法

    Android编程UI设计之GridView和ImageView的用法

    这篇文章主要介绍了Android编程UI设计之GridView和ImageView的用法,结合实例形式较为详细的分析了Android中GridView和ImageView组件的相关方法使用技巧,需要的朋友可以参考下
    2016-01-01
  • Android编程之SMS读取短信并保存到SQLite的方法

    Android编程之SMS读取短信并保存到SQLite的方法

    这篇文章主要介绍了Android编程之SMS读取短信并保存到SQLite的方法,涉及Android针对SMS短信及SQLite数据库的相关操作技巧,需要的朋友可以参考下
    2015-11-11
  • Android利用贝塞尔曲线绘制动画的示例代码

    Android利用贝塞尔曲线绘制动画的示例代码

    本篇就借由动画驱动贝塞尔曲线绘制看看动起来的贝塞尔曲线什么效果。文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2022-05-05

最新评论