微信小程序语音播放

256 阅读1分钟

点击进行语音播放

掘金time.png

很遗憾,我在查阅小程序官方文档中没有找到类似的方法,但在小程序的第三方服务市场中有一个插件,叫‘微信同声传译’,这个插件可以实现我们的功能。

微信同声传译.png

首先登录微信公众平台,找到设置

设置.png

选择第三方设置

选择第三方设置.png

点击前往服务市场

前往服务市场.png

搜索‘微信同声传译’,并且进行添加

微信同声传译工具.png

添加微信同声传译工具.png

选择需要授权的小程序

选择授权小程序.png

这里可能会报一个添加失败的错误,错误代码是 -1010,我在把小程序的基本信息补充之后就可以正常添加了。

补充小程序基本信息.png

现在回到小程序公众平台,在设置-第三方设置下的插件管理中可以看到刚刚添加的插件。点击详情,进入之后复制插件的AppId,并在小程序中的app.json文件中进行配置

"plugins": {
    "WechatSI": {
      "version": "0.3.5",
      "provider": "这里填写刚刚复制的插件AppId"
    }
  }

js

//小程序同声传译
const plugin = requirePlugin('WechatSI');
const innerAudioContext = wx.createInnerAudioContext();

Page({
    data:{
        end:'',
        endSrc:''
    },
    //点击播放
    goBtn() {
        wx.showToast({
          title: '开始',
        })
        //文字转语音
        var that = this;
        var end = this.data.end;
        plugin.textToSpeech({
          lang: "zh_CN",
          tts: true,
          content: end,
          success:function (res) {
            console.log(res);
            console.log('success',res.filename);
            that.setData({
              endSrc:res.filename
            })
          },
          fail:function (res){
            console.log("fail",res);
          }
        })
    },
    //播放语音
    play(){
        if (this.data.endSrc == '') {
          console.log(暂无语音);
          return;
        }
        innerAudioContext.autoplay = true
        innerAudioContext.src = this.data.endSrc //设置音频地址
        innerAudioContext.play(); //播放音频
    }
})