在微信小程序使用音樂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...

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章