一、播放音频

背景音频

播放背景音频

背景音频接口适用于音乐类小程序,如“音乐站”、“QQ 音乐小电台”。

通过wx.getBackgroundAudioManager()接口可以获取全局唯一的背景音频管理器,所有关于背景音频的操作都由它来实现。

微信内只有一个背景音频,一个小程序开始播放背景音频之后,就持有背景音频播放器,只要当前小程序持有背景音频播放器,即使这个小程序进入后台(即用户离开小程序),也可以继续使用背景音频接口,且当前小程序不会被微信主动回收;一旦背景音频播放器被抢占(可能是其他小程序、微信内其他音乐、其他 App 的音乐),则小程序不再持有背景音频播放器。

在系统播放面板显示和控制

通过设置标题、专辑名、歌手名、封面图等属性,小程序音频接口支持在系统音乐播放面板显示出来。通过响应系统面板的点击事件( onPrev , onNext ),可以实现列表播放。

内部音频

播放内部音频

内部音频适用于所有小程序,尤其是游戏类目的小程序,如“跳一跳”。

通过wx.createInnerAudioContext()接口可以创建一个音频实例。

每个小程序可以同时持有和播放多个内部音频,但一旦小程序进入后台(onHide),所有内部音频都会被暂停,且在用户回到前台(即打开小程序)之前无法再被播放。

静音下也能播放

在 iOS 系统中,内部音频默认遵循静音键设置。如果希望在静音时也能播放,可以设置 obeyMuteSwitch 为 false 。

安卓系统没有统一的静音开关,暂不支持此特性。

处理音频中断事件

以游戏为例,在游戏中,经常有播放使用内部音频来播放游戏背景音乐的场景。音频中断事件指的是在游戏期间,音频被系统打断时触发的事件。音频中断事件分为中断开始和中断结束事件,分别使用 wx.onAudioInterruptionBegin() 和 wx.onAudioInterruptionEnd() 来监听。

以下事件会触发音频中断开始事件:接到电话、闹钟响起、系统提醒、收到微信好友的语音/视频通话请求。被中断之后,小游戏内所有音频会被暂停,并在中断结束之前都不能再播放成功。

中断结束之后,被暂停的音频不会自动继续播放,游戏可监听音频中断结束事件,并在收到中断结束事件之后调用背景音乐继续播放。

如果游戏的逻辑强依赖音乐的播放(如音乐类游戏),需要在音频开始中断的时候暂停游戏。

录制音频

通过 wx.getRecorderManager 接口,可以获取全局唯一的录音管理器。

实现边录边传

默认情况下,录音结束后会生成一个本地文件,并通过回调返回本地文件的地址。对于实时性要求比较高的小程序(如“面对面翻译”),可以通过设置 frameSize 参数来设置一个帧的大小,这样每录制指定帧大小的内容后,会通过 onFrameRecorded 回调返回本次分片的数据。

注意事项

不建议使用的历史接口,上述接口可以满足所有音频相关的需求。除了上述接口,小程序内还有若干跟音频相关的接口(如 wx.startRecord 、 wx.playVoice 、  wx.playBackgroundAudio 等)。这些接口由于早期设计存在一些缺陷,我们不建议继续使用。

微信小程序播放器实战开发教程相关推荐

  1. 微信小程序/uni-app 蓝牙打印开发教程和常见问题总结【文末附源码】

    微信小程序/uni-app 蓝牙打印开发教程和常见问题总结[文末附源码] 文章目录 微信小程序/uni-app 蓝牙打印开发教程和常见问题总结[文末附源码] 1️⃣ 写在前面 2️⃣ 蓝牙连接流程 3 ...

  2. 微信小程序播放器的一些简单功能实现

    微信小程序播放器的一些简单功能实现 准备工作 一.构建npm(后面用到moment的格式化时间) 二.系统后台监测程序播放器配置(系统后台要知道该播放器是否在播放歌曲,并有一些简单的业务逻辑) 在ap ...

  3. 微信小程序播放背景音乐及开发工具没有声音问题解决

    1.背景音乐播放 2.以上真机测试可行,但是开发工具不可行!! 但是原因很简单: 点击三个小点: 点击取消静音即可! 考,搞了一个上午..

  4. 微信小程序电商项目开发实战漫谈

    原创文章,若转载请于明显处标明出处和相关链接:https://www.toutiao.com/i6567868839856439822/,否则追究其法律责任! 2018年小程序内容电商风口已成,如果我 ...

  5. 视频教程-微信小程序系统教程python版[3/3阶段]_微信小程序支付-手游开发

    微信小程序系统教程python版[3/3阶段]_微信小程序支付 微信企业号星级会员.10多年软件从业经历,国家级软件项目负责人,主要从事软件研发.软件企业员工技能培训.已经取得计算机技术与软件资格考试 ...

  6. 微信小程序开发教程第七章:微信小程序编辑名片页面开发

    前面我们更新了六篇的微信小程序开发教程,现在更新第七章:微信小程序编辑名片页面开发,(第一二章:微信小程序开发教程,第三四章:微信小程序项目结构以及配置&微信小程序首页面开发,第五章:微信小程 ...

  7. php阅读器开发,微信小程序阅读器的简单实例开发

    这篇文章主要介绍微信小程序阅读器的简单实例开发的相关资料,需要的朋友可以参考下 今天和朋友聊天说到小程序,然后看在看书,然后我们就弄了个小读书的demo,然后现在分享一下. 一.先来上图: 首先先说下 ...

  8. taro开发微信小程序-播放轨迹(十一)

    taro集成了地图后如何实现轨迹播放,暂停,停止呢?本身地图并不具备轨迹播放的能力,但是基于地图api可以实现轨迹播放的效果 思路如下: 1.获取所有的轨迹坐标点-最好是数组格式的json 2.定义一 ...

  9. Android 音乐播放器的开发教程(三) 小卷毛播放器的主界面开发 ---- 小达

    Android 音乐播放器的开发教程(三) 小卷毛播放器的主界面开发 拿好素材之后,打开你们的开发工具,小达这里用的是android studio1.0, 新建一个项目,打开activity_main ...

  10. Android 音乐播放器的开发教程(二)反编译apk ----- 小达

    Android 音乐播放器的开发教程(二)基本布局 在上一篇中简单的介绍了下小卷毛播放器的基本情况,现在就正式的开始一步一步的做播放器.首先想要一个漂亮的UI(不是我的这个...),就需要好的素材,没 ...

最新文章

  1. 客户端读写hdfs数据
  2. SQL Server中的锁类型及用法(转载)
  3. Linux 操作系统原理 — 多处理器架构
  4. python 三种聚类算法(K-means,AGNES,DBScan)
  5. python的用途-请问在python中的% 是什么意思, 起到什么作用?
  6. spring aop JointPoint类
  7. 基于以太坊网络的智能合约开发、部署和测试(入门)
  8. 人工机器:深度学习CNN到底实现了什么
  9. oracle linux查看磁盘,fdisk命令_Linux fdisk命令使用详解:查看磁盘使用情况与磁盘分区...
  10. java 写 gz_java简写名词解释 - osc_gzyujipq的个人空间 - OSCHINA - 中文开源技术交流社区...
  11. JAVA xml转dom_如何在Java中将String转换为DOMSource?
  12. 差分隐私 python_[宜配屋]听图阁
  13. 一加8 Pro相机能“透视”,一加工程师:大家不要“有一个大胆的想法”
  14. matlab中solver函数_Matlab中微分方程的模型
  15. [Flink]Flink DataStream window join 和interval join
  16. 数字滤波算法——中值滤波
  17. 详解SourceOffsite的安装配置解决VSS共享数据库目录的问题
  18. python爬虫菜鸟驿站_爬30层楼、扛40斤……5万菜鸟驿站春节快递不打烊
  19. Note: further occurrences of HTTP request parsing errors will be logged at DEBUG level.错误解决
  20. python 开任意数的平方

热门文章

  1. 居家短期任务赚钱好不好做容易学习吗?
  2. 《大型网站技术架构》读后感
  3. 单元测试引入hsqldb探索
  4. 360浏览器显示没网络连接服务器,360浏览器无法连接网络?怎么办?
  5. php xml网站地图生成,PHP代码自动生成XML版网站地图
  6. 白帽子讲Web安全(第一章总结)
  7. 安装虚拟机不支持i686 cpu的解决办法
  8. (转)关于第一行代码中NotificationCompat失效的解决方法
  9. 【IDEA】IntelliJ IDEA使用教程(2019图文版)
  10. 空号筛选接口的应用场景