收藏
回答

录音结束后,调用录音文件的临时路径无法试听

问题模块
API和组件

录音结束后,调用录音文件的临时路径不能进行试听,如何可以进行录音文件试听或者用户的试听确认?

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

6 个回答

  • 邓坤力
    邓坤力
    2017-12-22

    请查阅文档 https://mp.weixin.qq.com/debug/wxadoc/dev/api/media-voice.html

    2017-12-22
    赞同
    回复
  • 刘畅
    刘畅
    2018-01-07

    你好,你是在开发者工具上模拟的还是在真机上模拟的?我在开发者工具上录音返回的文件大小都是5,也就是没录上,但是在真机上就没问题。

    2018-01-07
    赞同
    回复
  • 陈杰
    陈杰
    2017-12-22

    官方录音示例,加入了试听代码,播放不了

    recorderManager.onStop((res) => {

        console.log('recorder stop', res)

        const { tempFilePath } = res;

        console.log(tempFilePath)

        wx.playVoice({

            filePath: tempFilePath,

            complete: function () {

                console.log("播放成功")

            }

        })

    })


    2017-12-22
    赞同
    回复
  • 陈杰
    陈杰
    2017-12-22

    录音参照的https://mp.weixin.qq.com/debug/wxadoc/dev/api/getRecorderManager.html

    播放参照的https://mp.weixin.qq.com/debug/wxadoc/dev/api/createInnerAudioContext.html

    2017-12-22
    赞同
    回复
  • 陈杰
    陈杰
    2017-12-22

    采用最新的录音api

    const recorderManager = wx.getRecorderManager();

    const options = {

        duration: 5000,

        sampleRate: 44100,

        numberOfChannels: 1,

        encodeBitRate: 192000,

        format: 'mp3',

        frameSize: 50

    };

    recorderManager.start(options);

    recorderManager.onStop((res) => {       

        const innerAudioContext = wx.createInnerAudioContext();

        innerAudioContext.autoplay = true;

        innerAudioContext.src = tempFilePath;

    });


    2017-12-22
    赞同
    回复
  • 陈杰
    陈杰
    2017-12-22

    测试了二种方式试听,可以成功获取到tempFilePath路径,但都不能试听,无声音。

    第一种:

    wx.playVoice({

         filePath: tempFilePath,      complete: function(){      }

    })

    根据文档示例测试,调用没有声音


    第二种:


    const innerAudioContext = wx.createInnerAudioContext();

    innerAudioContext.autoplay = true;

    innerAudioContext.src = tempFilePath;


    调用没有声音


    2017-12-22
    赞同
    回复