目前,在锁屏界面控制音乐播放有两种常用方式。

第一种方式:原生Android系统及自带音乐播放器。

锁屏界面端:

原生Android中,锁屏界面相关的UI由KeyguardHostView提供,KeyguardHostView向KeyguardUpdateMonitor注册一个类型为 KeyguardUpdateMonitorCallback的回调, KeyguardUpdateMonitort向AudioManager.registerRemoteControlDisplay向AudioManager(AudioService)注册一个 IRemoteControlDisplay,最后注册到MediaFocusControl,当音乐播放状态变化时,将状态传上来。

KeyguardHostView根据音乐是否在播放来显示KeyguardTransportControlView。这个view提供了具体的UI,如按钮等,并且监听onClick事件,将click事件转换成keyCode, 并由RemoteController通过PendingIntent发送给注册的RemoteControlClient(创建时指定了一个PendingIntent). 在KeyguardTransportControlView中,使用RemoteController.MetadataEditor就可以获得音乐的相关信息,比如歌名等,这些信息是在音乐播放状态变化时通过回调更新的。

参考源码:

KeyguardTransportControlView.java

KeyguardHostView.java

Music APP端:

在MediaPlaybackService中,创建RemoteControlClient, 并通过AudioManager.registerRemoteControlClient(RemoteControlClient)进行注册,在注册之前,通过AudioManager.registerMediaButtonEventReceiver(ComponentName)注册事件广播接收器,就可以对按键事件进行响应处理了(具体在MediaButtonIntentReceiver中实现),比如播放下一首等。

参考源码:MediaPlaybackService.java

第二种方式:第三方APP

这种方式是有APP自身提供锁屏界面,即自己监听屏幕的关或开,从而显示带有音乐控制的锁屏界面。这种方式优势在于使控制播放的UI有更大的灵活性,而且不依赖于具体的rom。不足之处在于,在解锁时,APP自带的锁屏界面先解锁,再到系统锁屏界面,操作繁琐。

android 锁屏显示音乐播放器,Android锁屏界面控制音乐播放相关推荐

  1. 音乐播放器-Android+okhttp连接+Spring boot服务器+oracle数据库+腾讯云端

    1.整体架构 1.1软件系统架构: Android+okhttp连接+Spring boot服务器+oracle数据库+腾讯云端服务器地址:https://github.com/DNFDS/Twink ...

  2. MusicPlayer音乐播放器Android

    MusicPlayer音乐播放器Android [音频采集] 你可以使用手机进行现场录音,实现步骤如下: 第一步:在功能清单文件AndroidManifest.xml中添加音频刻录权限: <us ...

  3. android 带记忆功能的播放器源码,【全开源可二开】带后台管理面板的在线音乐播放器Android应用APP源码...

    这是一款带后台管理面板的在线音乐播放器Android应用APP源码,可让您更快地构建在线和离线android音频播放器,代码全开源适合二次开发.该源码自带2个紫色和橙色主题(允许您添加更多主题),多语 ...

  4. Android 11.0 任务栏中清除掉播放器的进程,状态栏仍有音乐播放器状态问题的解决

    1.概述 在11.0的rom定制化开发中,在点击系统自带的播放器以后,播放音乐的时候,在最近任务栏recents列表中,点击全部清除,发现音乐播放器还在播放音乐,导致出现bug,完整的 解决方法,肯定 ...

  5. 音频播放器android课程设计,Android课程设计:Android音乐播放器的设计与实现

    内容简介: Android课程设计:Android音乐播放器的设计与实现,共21页,7729字,附源程序等. 摘要:本文主要介绍了一个基于Andriod的音乐播放器的设计与实现.主要包括可行性分析,需 ...

  6. Android播放器开源项目,github常用视频音频播放器

    需求: 搜集到的github常用的视频和音频播放器,其中前三个是比较常用的播放器. 第四个和第五个是比较直白的用法. 1.ijkplayer 项目地址: https://github.com/Bili ...

  7. android html5播放器,android Html5播放器混音解决方案

    背景 当一个用户正在听音乐而另一个应用需要通知用户一些重要的事情时,用户可能由于音乐声音大而不能听的通知.从Android2.2开始,平台为应用提供了一个协商它们如何使用设备音频输出的途径,这个机制叫 ...

  8. 视频教程-FFmpeg打造Android万能音频播放器-Android

    FFmpeg打造Android万能音频播放器 从事Android移动端开发多年.主导开发过直播.电商.聊天等各种类型APP和游戏SDK:熟悉Android音视频开发.底层NDK开发等:有开源项目:ht ...

  9. upnp 播放器 android,基于Android系统的UPNP媒体播放器的研究与实现

    摘要: 近几年来,"数字家庭网络"的发展备受人们的关注,如何通过有线或无线的方式将多个网络设备及家庭设备互联互通,最终实现设备之间自动发现.智能互联.相互控制.资源共享等操作,是目 ...

最新文章

  1. find与findb
  2. ubuntu系统安装mysql二进制压缩包(tar.gz)以及navicat远程连接服务器(linux系统)
  3. 改变按钮在iPhone下的默认风格
  4. python显示外部命令_Python 执行外部指令
  5. JavaScript学习笔记-JSON对象
  6. 如何将文件拷贝服务器上,如何将文件复制到云服务器上
  7. 【Pytorch神经网络实战案例】24 基于迁移学习识别多种鸟类(CUB-200数据集)
  8. IDEA使用技巧--在文件导航栏中屏蔽指定后缀名的文件
  9. 数组与数组冒泡排序,选择排序
  10. JTAG接口定义与其他简介
  11. 计算机禁止安装游戏,win7系统禁用自动安装游戏应用的详细教程
  12. Java指定屏幕区域截屏
  13. c语言输入奇数n输出一半棱形,c语言输出菱形
  14. 英语介绍嵌入式计算机,计算机专业的英文自我介绍
  15. Asp .NetCore 支付宝网页授权登录
  16. JAVA 多个空格分割字符串
  17. 音视频之opengl渲染图片
  18. 关于ffmpeg内存管理函数av_malloc和av_free/av_freep
  19. matlab 点顺时针排序,按顺时针顺序对点排序?
  20. python初中必背语法_全初中必背英语语法知识汇总

热门文章

  1. 《Windows程序设计》读书笔九 子窗口控件
  2. 使用决策树对鸢尾花进行分类
  3. 荣耀7 能升级鸿蒙系统吗,刷机精灵V3.4.7发布 新增支持荣耀7等一键刷机
  4. 2008世界旅游大使中国赛区总决赛在正定华丽落幕
  5. iOS开发系列–打造自己的“美图秀秀”(上)
  6. 【用例】研究生招生报名管理系统分析
  7. tag untag_Vlan中的 PVID vid tag untag 常识理论
  8. 两年经验的阿里、头条面经(已拿offer),大厂面试套路屡试不爽
  9. windows7与linux共享文件夹oracle,ORACLE expdp备份到windows网络共享文件目录(NFS)
  10. 用Python画国旗