收藏
回答

云开发使用 cloud_id 作为音频 src 时没有对 url 编码?

const backgroundAudioManager = wx.getBackgroundAudioManager()
backgroundAudioManager.src = '' // 一个文件名中带有空格的 cloud_id

当 cloud_id 作为 src 的时候,小程序调用了一个内部的 API 把 cloud_id 转成了 http url。但是转换后的 url 没有对空格编码,导致 iOS 端无法解析这个地址,在 onError 回调中抛了一个 errCode 10002 的错。

实际上 coverImgUrl 属性也有这个问题,但是 onError 捕捉不到,只是表现为图片无法显示。

直接对 cloud_id 编码的话也是不行的。

回答关注问题邀请回答
收藏

2 个回答

  • 老张
    老张
    2020-05-21

    yestoday和yes today是两个意思,所以空格不是可有可无。

    2020-05-21
    有用
    回复
  • tintles
    tintles
    2020-05-21

    空格毕竟也是 url 里的合法字符,这都不支持的话那不如干脆别有**直接使用 cloud_id 作为 src**这个功能。但是如果官方确实不打算支持,那么暂时能想到两种解决方法。

    一是抛弃 cloud_id,用 cloud_id 拼接出 url。

    另一个是 onError 回调里取 errCode 和 src 两个参数,判断 errCode,把 src 编码后重新赋值一遍。但是 coverImgUrl 也有这个问题,这意味着最坏需要走两次这个流程。。

    2020-05-21
    有用
    回复
登录 后发表内容
问题标签