收藏
回答

recorderManager录制的音频在真机无法播放


recorderManager录制的音频在真机无法播放,怎么解决呢?是API本身存在bug吗?尝试了各种播放方式,都不可以。

最后一次编辑于  2017-10-24
回答关注问题邀请回答
收藏

13 个回答

  • 罗冬杰
    罗冬杰
    2018-07-05

    楼主您好,请问问题解决了吗,是什么原因?

    我遇到的问题和你一模一样,真是手机原因吗?

    2018-07-05
    有用
    回复 5
    • Crystal
      Crystal
      2018-07-05

      试过几个手机都没有解决,应该不是手机的问题,项目中已经使用原来的API进行录音了

      2018-07-05
      回复
    • 罗冬杰
      罗冬杰
      2018-07-05回复Crystal

      使用原来的API录音指的是这两个吗?

      wx.startRecord

      wx.playVoice

      但是我试了这两个组合也不行呀,开发工具没问题,但是手机上就是fail

      2018-07-05
      回复
    • 罗冬杰
      罗冬杰
      2018-07-05回复Crystal

      补充一下,用那两个录下来直接播放是可以的。

      我的意思是录下来传到服务器上,然后取得服务器上文件的路径,再播放时fail。


      您最后没有上传录音文件吗?

      2018-07-05
      回复
    • Crystal
      Crystal
      2018-07-05回复罗冬杰

      上传了   可以的

      2018-07-05
      回复
    • 罗冬杰
      罗冬杰
      2018-07-05

      我播放录音的代码是这样的,上面的两个路径的log都是没问题,

      一个是服务器文件路径,一个是微信零时文件路径。

      但是开发工具运行结果是play ok!,手机是play ng!

      是我的代码哪里写的不对吗。。。


      playvoice: function () {

      var that = this;

      console.log(that.data.resource_path)

      wx.downloadFile({

      url: that.data.resource_path,

      complete: function (res) {

      console.log(res.tempFilePath)

      wx.playVoice({

      filePath:res.tempFilePath,

      success: function (res) {

      //console.log(res);

      console.log("play ok!");

      },

      fail: function (res) {

      console.log("play ng!");

      }

      })

      }

      })

      },


      2018-07-05
      回复
  • Crystal
    Crystal
    2017-10-24

    嗯嗯  是对的

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

    that.data.audioObj.tempFilePath,打印出来路径对嘛?

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

    我把能用来播放的API都试了一遍,包括先上传到服务器在进行播放,都没有成功,刚刚在iPhone上试播了一下  错误代码是-1

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

    这个方法我也试过了   真机上直接走的是fail的方法

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

    应该是得把录音保存到服务器上,,不能用临时路径,,临时路径用下面这个方法播放试试

    wx.playVoice({
         filePath: tempFilePath,
         complete: function(){
         }
       })


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

    难道是我手机的问题吗?

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


    我试了您的播放方式,模拟器直接出了一个这样的错误,作为前端小白  是在不知道怎么解决,大神能贴下您的代码吗

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

    我改成你的那个方法也是可以的

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

    是真机测试,,但不是用这个播放方法,

    var _this = this;
    _this.audioCtx = wx.createAudioContext('myAudio');
    _this.audioCtx.play();

    我用这个

    2017-10-24
    有用
    回复

正在加载...

登录 后发表内容