当前位置: 首页 > news >正文

音乐播放对接状态栏MediaSession控制

音乐播放对接状态栏MediaSession控制

文章目录

  • 音乐播放对接状态栏MediaSession控制
    • MediaPlayer播放音源
    • 使用ExoPlayer播放音频
    • Exopler 缓存配置
    • 总结

本文首发地址 https://h89.cn/archives/364.html

MediaPlayer播放音源

MediaPlayer可以播放视频,也可以播放视频,下面是一个使用MediaPlayer播放音频的示例

fun playMp3FromUrl(url: String) {val mediaPlayer = MediaPlayer()try {// 1. 设置数据源mediaPlayer.setDataSource(url)// 2. 异步准备播放器mediaPlayer.prepareAsync()// 3. 监听准备完成事件mediaPlayer.setOnPreparedListener { mp ->// 4. 准备完成后开始播放mp.start()}// 5. 监听播放错误mediaPlayer.setOnErrorListener { mp, what, extra ->// 处理错误,例如网络问题、文件不存在等println("播放错误:what=$what, extra=$extra")false // 返回 false 表示你没有处理完错误,让系统继续处理}//6. 监听播放结束mediaPlayer.setOnCompletionListener { mp->// 播放结束println("播放完成")}} catch (e: IOException) {// 处理 IOException,例如无效的 URLprintln("IO 错误:${e.message}")}
}

如果要想实现在通知栏显示以及控制播放,如下图,我们得自己实现自定义通知栏,处理控制事件

如果我们想让下拉状态栏,可以控制音频播放,实现下图效果

我们就需要对接 MediaSession,可以参考如下代码实现

private lateinit var mediaSession: MediaSessionprivate fun setupMediaSession(context:Context) {mediaSession = MediaSession(this, "MusicService")mediaSession.setFlags(MediaSession.FLAG_HANDLES_MEDIA_BUTTONS or MediaSession.FLAG_HANDLES_TRANSPORT_CONTROLS)val audioAttributes = AudioAttributes.Builder().setContentType(AudioAttributes.CONTENT_TYPE_MUSIC).setUsage(AudioAttributes.USAGE_MEDIA)

相关文章:

  • Yocto项目实战教程 · 第4章:4.3小节-层
  • 2025年03月中国电子学会青少年软件编程(Python)等级考试试卷(五级)答案 + 解析
  • Linux:线程概念与控制
  • L38.【LeetCode题解】四数之和(双指针思想) 从汇编角度分析报错原因
  • 如何在米尔-STM32MP257开发板上部署环境监测系统
  • DeepSeek编程新手全栈指南:从Python到网站搭建的避坑实战手册
  • 力扣最热一百题——二叉搜索树中第 K 小的元素
  • namesapce、cgroup
  • 边缘计算网关组态功能的定义
  • 计算机视觉cv2入门之车牌号码识别
  • 代码随想录算法训练营day7(字符串)
  • C++:PTA L1-006 连续因子
  • 中华传承-医山命相卜-梅花易数
  • leetcode0145. 二叉树的后序遍历-easy
  • 班翎流程平台 | 全新Agent节点,助您构建企业智能流程
  • 极狐GitLab 登录限制如何设置?
  • React 列表渲染基础示例
  • 【裁判文书网DES3数据解密】逆向分析
  • HTTP测试智能化升级:动态变量管理实战与效能跃迁
  • C++使用STL容器迭代器失效情况
  • 林诗栋4比1战胜梁靖崑,晋级世界杯男单决赛将和雨果争冠
  • 加快从数量增长向品质跃升转变,促进生态空间与城市功能有机共生!龚正调研公园城市建设工作
  • 上海市市长龚正会见英伟达总裁黄仁勋,共创科技发展美好未来
  • 美国佛罗里达州立大学发生枪击事件
  • 国家统计局:3月全国城镇不包含在校生的16-24岁劳动力失业率降至16.5%
  • 何小鹏:要把“科技平权”推向世界,目标未来十年海外销量占比一半