小程序音频开发

作者: 石豌豆 | 来源:发表于2022-02-15 11:10 被阅读0次

因为要开发小程序音频播放,最近折腾了一段时间,总结下一些问题,便于后面回顾,也方便大家开发的时候避免踩坑。

直接进入正题,小程序音频有好几种,这里我们要根据实际情况去选择,这里大概列一下。

音频类型 InnerAudioContext(内置音频) BackgroundAudioManager(背景音频)
播放场景 只支持在小程序中播放,回到微信或者锁屏等会停止 可以微信中继续播放,ios可以锁屏在播放控制器中切换播放,安卓根据场景也会出现音乐播放控制器
适用场景 交互的提示音、特效音乐等只在小程序中使用的场景 音乐、课程等内容,需要支持用户锁屏后继续收听
是否需要资质 符合官方要求即可 符合官方要求同时需要在配置文件中添加 "requiredBackgroundModes": ["audio"], // 申明需要后台运行的能力 audio=后台音乐播放

这里主要考虑了这两种音频播放功能,因为微信已经停止对audio组件的维护,现在都是使用api创建上下文,这两种除了使用场景不太一致,其他功能大体相同,后面就不单独列举这两个的差异了。

接下来应该算是开发中的重头戏,也是最头疼的问题,ios和安卓兼容问题,这个问题在音频中属实是一个大坑,很多交互完全不同,如果只是做简单音频播放可能没啥感觉,但是如果做课程、音乐类的需要很多细致操作的话这些坑不得不面对,不得不填。
大致描述下我们的需求,类似音频播放器,支持上一首下一首、快退快进、单曲顺序随机等基础功能,当然也支持锁屏和回到微信继续收听,下面就直接列坑点了

功能 Ios Android
stop事件 会清除播放器实例的src 不会清除src
ended事件 播放结束会先清除src,切换源时会触发多次事件 不会清除src,且只触发一次事件
切歌 不触发stop监听 触发stop监听事件
切到微信后台 播放器stop,触发监听,重新进入src丢失,进度为0 播放器暂停,再次进入不丢失播放进度

具体开发处理兼容问题我就不列代码了,找到问题原因再去根据情况优化处理就好,最后再提一个坑点

就是seek这个方法,这个是我们用来设置播放时间的,但是时灵时不灵就很坑,参考其他大佬解决问题的方案,这里建议放在onTimeUpdate回调事件中去设置,相当于做个弥补方案。

整理的主要是按照我碰到的问题整理的,大家知道坑点再根据实际情况处理即可。

相关文章

  • 小程序音频开发

    因为要开发小程序音频播放,最近折腾了一段时间,总结下一些问题,便于后面回顾,也方便大家开发的时候避免踩坑。 直接进...

  • 音频小程序开发总结

    最近一年来也玩过几个小程序,都是些比较简单的demo。直到前段时间,由于公司业务需要,着手开发了一套播放音频的微信...

  • 潍坊小程序开发

    潍坊小程序开发潍坊小程序开发潍坊小程序开发潍坊小程序开发潍坊小程序开发潍坊小程序开发潍坊小程序开发潍坊小程序开发潍...

  • 潍坊商城小程序开发制作

    潍坊小程序开发潍坊小程序开发潍坊小程序开发潍坊小程序开发潍坊小程序开发潍坊小程序开发潍坊小程序开发潍坊小程序开发潍...

  • 潍坊商城小程序网站开发制作

    潍坊商城小程序开发制作潍坊商城小程序开发制作潍坊商城小程序开发制作潍坊商城小程序开发制作潍坊商城小程序开发制作潍坊...

  • 小程序音频播放笔记

    我要实现的是小程序内播放音频,并且支持退出小程序后仍能保持播放状态 音频播放 只在小程序内部播放,小程序关闭语音也...

  • 小程序Cloud开发归纳

    小程序云开发 小程序·云开发是微信团队联合腾讯云推出的专业的小程序开发服务。开发者可以使用云开发快速开发小程序、小...

  • 微信小程序开发系列六:微信框架API的调用

    微信小程序开发系列教程 微信小程序开发系列一:微信小程序的申请和开发环境的搭建 微信小程序开发系列二:微信小程序的...

  • 小程序播放本地音频(必须用绝对路径)

    小程序播放本地音频,音频必须用绝对路径

  • 共享链小程序软件开发

    共享链小程序模式开发;共享链小程序软件源码开发;共享链小程序系统开发;共享链小程序系统模式。 共享链小程序商家返利...

网友评论

    本文标题:小程序音频开发

    本文链接:https://www.haomeiwen.com/subject/ldwklrtx.html