在微信小程序使用音乐api的方法,以及微信小程序播放背景音乐失败的解决方案汇总

项目要做一个可以为日记添加音乐的小程序,所以要用到音乐api,参考了一些文章后我们封装了一个qq音乐api库(完成了动态token获取,音乐搜索,音乐专辑图片,音乐名称,歌手名称,播放),有需要的可以到Github自提。

小程序qq音乐api库Gihub地址https://github.com/FisherWY/Q...,里面有简单的教程,如果开发工具不勾选ES6转ES5的话,可以无视里面带的es6-promise这个js文件,并把var Promise = require('./es6-promise.min.js')
qqMusicTools.js中去掉。

由于下面的第四点坑,我们开发了网易云音乐api代替qq音乐api文章链接https://www.jianshu.com/p/fbb...

播放背景音乐失败的解决方案

  1. 没有为音乐设置title
    解决方案:在设置背景音乐的时候设置title:"随便设置点东西"
  2. 请求的url中带有中文路径
    使用encodeURI("xxxxxx")转码
  3. 手机设置了静音模式
  4. 一个非常奇葩的问题(翻遍了互联网都没找到解决方案,怀疑是官方的bug了)

android端(移动数据、WiFi、热点一切正常),电脑模拟器(开WiFi,3G各种模式都正常)都可以正常播放,iOS使用WiFi时正常播放,iOS使用移动数据、热点的时候无法播放,报错如下:

errCode:10002
errMsg:"playerErrCode:6, systemErrCode:403, domain:com.tencent.KSAudioPlayer.HTTP, description:未能完成操作。(“com.tencent.KSAudioPlayer.HTTP”错误 403。)"
src:"http://ws.stream.qqmusic.qq.com/C400002WqezQ4dmIeT.m4a?guid=126548448&vkey=0E12BA0C521F05EF0103E99180DC5C50CA0E942E3183546F5D186F3E6F20F161E9EB0DCEA038F0A9A578E2DFAEBF434AF48521DA440A7EFF&fromtag=0"

__暂时没有找到解决方案,但是问题只在qq音乐api上出现,使用网易云完全正常。
下一步准备使用网易云api代替qq音乐api。已经开发新的网易云api代替qq音乐api了,需要的可以看看这篇文章https://www.jianshu.com/p/fbb...

相关推荐