收藏
回答

语音下载本地播放

问题模块 框架类型 问题类型 API/组件名称 终端类型 操作系统 微信版本 基础库版本
API和组件 小程序 Bug wx.getBackgroundAudioManager 客户端 iOS 6.6.6 1.9.94



我将录音保存到本地文件,然后将地址用于播放,在wifi情况下能播放,在移动网络下,不能播放;报10003,file not exist,但是只要连接到wifi下就可以播放


如下图所示,第一张图与第二张图的只是切换wifi的差异,同一个地址,wifi下能播放,非wifi下不能播放,why?





最后一次编辑于  2018-05-12  (未经腾讯允许,不得转载)
回答关注问题邀请回答
收藏

6 个回答

  • cunjinli
    cunjinli
    2018-05-17

    你好,问题已复现,我们会后续修复

    2018-05-17
    赞同
    回复
  • 社区技术运营专员-娇华
    社区技术运营专员-娇华
    2018-05-11

    你好,10003是指文件错误,请自行检查哈

    2018-05-11
    赞同
    回复 1
    • 简单爱
      简单爱
      2018-05-12
      人呢,给点回复,解释一下啊
      2018-05-12
      回复
  • 简单爱
    简单爱
    2018-05-11

    一样的代码,在andoid下就可以,在ios的wifi下可以,在ios的移动网络下不行,不太可能是文件的问题,能否让你们的程序调试一下这个getBackgroundAudioManager播放的时候,对文件的本地代理路径有问题,wifi与非wifi下,内部的代理服务处理是否有差异,造成同一个url在不同的网络环境下,代理不到文件

    2018-05-11
    赞同 1
    回复 6
    • 社区技术运营专员-娇华
      社区技术运营专员-娇华
      2018-05-13
      好的,那麻烦提供下能复现问题的代码片段,还有也麻烦提供下出现问题的具体手机型号和微信版本
      2018-05-13
      回复
    • 简单爱
      简单爱
      2018-05-13回复社区技术运营专员-娇华
      文件:index.wxss button{ width:80%; margin:20px auto; } 文件:index.wxml <button wx:if="{{url==null}}" type="primary" bindtap="start">{{startFlag?'停止录音':'点击录音'}}</button> <button wx:else type="primary" bindtap="play">播放</button> 文件:index.js const recManager = wx.getRecorderManager(); const bg = wx.getBackgroundAudioManager(); Page({ data:{ url:null, startFlag:false }, onReady(){ recManager.onStop((file)=>{ wx.saveFile({ tempFilePath:file.tempFilePath, success:(res)=>{ this.setData({url:res.savedFilePath}); wx.showToast({title:"录音保存成功,可播放",icon:"none"}); }, fail:()=>{ wx.showToast({title:"文件本地保存失败",icon:"none"}); } }) }); bg.onPlay(()=>{ wx.showToast({title:"语音正常播放",icon:"none"}); console.info('语音正常播放'); }) bg.onEnded(()=>{ wx.showToast({title:"语音正常播放完成",icon:"none"}); console.info('语音正常播放完成'); }) bg.onError((err:{errMsg:string})=>{ wx.showToast({title:"语音播放异常"+err.errMsg,icon:"none"}); console.error(err) }); }, start(){ if(this.data.startFlag){ recManager.stop(); }else{ recManager.start(); } this.setData({startFlag:!this.data.startFlag}); }, play(){ !bg.paused&&bg.stop(); bg.title='语音测试'; bg.src = this.data.url; } }); 调试的时候,切换wifi就可以了
      2018-05-13
      回复
    • 简单爱
      简单爱
      2018-05-13回复社区技术运营专员-娇华
      出现的机型:iphone 6s ,型号:ML7D2H/A ios系统:11.3.1 微信版本号:6.6.6,如果有问题或修复,请及时告知
      2018-05-13
      回复
    • 社区技术运营专员-娇华
      社区技术运营专员-娇华
      2018-05-13回复简单爱
      你上面提供的代码不是代码片段哈,你先按照文档指引来操作创建代码片段,我们好复现问题、定位问题 https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html
      2018-05-13
      回复
    • 简单爱
      简单爱
      2018-05-13回复社区技术运营专员-娇华
      我这个是一张测试页面
      2018-05-13
      回复
    查看更多(1)
  • ron
    ron
    2018-08-20

    我遇到了同样的问题,ios下wifi可以,4G报file not exist, 同样的代码,仅仅是网络不同! 希望官方跟进一下

    2018-08-20
    赞同
    回复 1
    • ron
      ron
      2018-08-20

      @娇华@cunjinli@娇华

      2018-08-20
      回复
  • sola
    sola
    2018-05-22

    我的是一个网络MP3地址浏览器可以正常播放 赋值给src 就报这个错

    2018-05-22
    赞同
    回复 3
    • 简单爱
      简单爱
      2018-05-22
      我还以为是管理员来了,需要断点续传才行,其次这个ip,你是工具上放的还是在小程序上放的
      2018-05-22
      回复
    • sola
      sola
      2018-05-22
      我这个也是 ios小程序录音上传到本地服务器上 似乎只要是 小程序的录音文件就会有问题
      2018-05-22
      回复
    • sola
      sola
      2018-05-22
      开发工具和安卓没问题 ios上会有这问题
      2018-05-22
      回复
  • 简单爱
    简单爱
    2018-05-11

    如果是文件错误,同一个文件,我只要连接上wifi就正常了,非wifi就异常,你的说明太牵强了,我缓存在本地,播放的时候是同一个文件

    2018-05-11
    赞同
    回复