收藏
回答

本地临时文件开发工具和真机地址不一样

比如使用下载接口downloadFile下载mp3资源文件或录音,开发工具临时文件地址格式是http协议,mpeg后缀,到了真机上变成了wxfile协议。这个导致如音频播放接口playVoice、playBackgroundAudio等在开发工具中可以正常播放,到了真机上就播放不了。

可是,我是按照官方案例代码编写,如:

wx.startRecord({
  success: function(res) {    var tempFilePath = res.tempFilePath
    wx.playVoice({
      filePath: tempFilePath,
      complete: function(){
      }
    })
  }
})

请问这是为啥?有哪里设置不对吗?




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

9 个回答

  • 工号 9527
    工号 9527
    2017-10-26

    playVoice 只适用于 录音返回的语音文件。

    可以使用音乐播放控制相关的接口

    2017-10-26
    有用
    回复
  • AA周小生🎸
    AA周小生🎸
    2017-11-01

    不好意思,请您看下之前的留言回复记录,现在是不管什么播放接口,即使是非playVoice接口,在真机上也无法播放 wxfile://xxxxxxx.mp3 格式的本地临时文件

    2017-11-01
    有用
    回复
  • AA周小生🎸
    AA周小生🎸
    2017-10-26

    咋没声了?如果是你们程序兼容问题,或者其他回馈下呢?或者至少跟我回复下,后期什么版本能恢复。又或者我哪里代码不对?

    2017-10-26
    有用
    回复
  • AA周小生🎸
    AA周小生🎸
    2017-10-24

    我测试用真机是:

    vivo X7  Plus

    安卓5.1.1

    微信目前最新版本

    2017-10-24
    有用
    回复
  • AA周小生🎸
    AA周小生🎸
    2017-10-24

    对!

    是这个情况

    2017-10-24
    有用
    回复
  • HS
    HS
    2017-10-24

    所以您指的是 wxfile://xxxxxxx.mp3 无法在真机上播放是吗

    2017-10-24
    有用
    回复
  • AA周小生🎸
    AA周小生🎸
    2017-10-24

    是不是在真机上只要是wxfile协议的音频文件,后缀只有silK下才能播放?如果换成其他就不行?但这个协议下后缀我们开发者又不能控制?如何解决这个问题?

    2017-10-24
    有用
    回复
  • AA周小生🎸
    AA周小生🎸
    2017-10-24

    第一种场景:

    downloadFile接口在真机上,比如下载mp3文件,获得临时文件是wxfile协议,后缀是mp3,适用播放接口playVoice无法播放。如果用startRecord接口录音完成后回调临时文件是wxfile协议,后缀是silk,playVoice接口能正常播放。

    第二种场景:

    如果用getRecorderManager进行录音,onStop回调后的临时文件是wxfile协议,后缀是.mp3(因为我设置的format值为mp3),这种场景下各种音频播放接口如playVoice就无法播放。请问怎么解决?

    这怎么能让我不感到担忧??




    2017-10-24
    有用
    回复
  • HS
    HS
    2017-10-24

    是的,这两者不一样,但您无需对此感到担忧。

    2017-10-24
    有用
    回复
登录 后发表内容