开发者中心 开发者中心
  • 简体中文
  • English
视频教程
敢为云网站
  • 6.0版本
  • 6.1 版本
视频教程
敢为云网站
  • 平台概述
  • 平台功能
  • 平台安装
  • 开发者指南
    • 协议插件开发
    • 扩展插件开发
    • 报警插件开发
    • 应用插件开发
    • Web可视化开发
    • 3D可视化开发
    • 桌面可视化开发
    • 小程序开发
      • 简介
      • 架构
      • 注册获取AppID
      • 环境搭建
      • 开发工具据介绍
      • 数据操作
      • 语音功能
        • 添加 “微信同声传译” 插件
        • 语音插件使用
        • 参数
      • 预览调试
      • 项目发布
      • 其它事项
    • 应用模块接口
  • 项目实战
  • 附录

语音功能

# 小程序开发

# 添加 “微信同声传译” 插件

2-01

util文件夹下util.js

/**
 * 语音功能模块
 * 开发者登录小程序公众平台后台管理,【设置】→【第三方设置】→【添加插件】→输入“同声传译”进行添加
 */
const plugin = requirePlugin("WechatSI")

const innerAudioContext = wx.createInnerAudioContext();
innerAudioContext.onError((res) => {
    // 播放音频失败的回调s
})

function playTTS(text) {
    //need to add WXAPP plug-in unit: WechatSI
    plugin.textToSpeech({
        lang: "zh_CN",
        tts: true,
        content: text,
        success: function (res) {
            log("succ tts", res.filename)
            innerAudioContext.src = res.filename;
            innerAudioContext.play()
        },
        fail: function (res) {
            log("fail tts", res)
        }
    })
}

function stopTTS() {
    innerAudioContext.stop();
}

# 语音插件使用

<view class="gif-box">
			<view class="gif-box yuan-box" bindlongtap="longTap" bindtouchstart="touchStart" bindtouchend="touchEnd">
				<view class="line_01"></view>
				<view class="line_02"></view>
				<view class="line_03"></view>
				<view class="line_04"></view>
				<view class="line_05"></view>
			</view>
        </view>
// 语音功能
const plugin = requirePlugin("WechatSI");
const manager = plugin.getRecordRecognitionManager();

Page({
    data: {
        hint: '请按下说话!', //语音提示文字
        showChuShiY: true,
        showLoader: false,
    },
    onLoad() {
        
    },
    
    // 触发长按事件
    touchStart(e) {
        // console.log('触发长按')
        let _that = this

        _that.setData({
            showLoader: true,
            hint: '请说,我在听',
        })

        manager.start({
            duration: 30000,    //最长录音时间,单位/毫秒
            lang: "zh_CN"       //中文
        })
    },
    
    // 长按事件过程
    longTap(e) {
        // console.log('长按开始')
    },
    
    // 长按松开事件
    touchEnd(e) {
        let _that = this
        // console.log('松开')
        clearInterval(this.interval)
        // 停止识别
        manager.stop()
    },
    
    onShow() {
        // 语音功能---1、有新的识别内容返回调用
        manager.onRecognize = (res) => {
            // console.log('语音功能开始')
        }

        // 语音功能----2、识别结束结果
        manager.onStop = (res) => {
            // console.log('语音功能开始-----',res.result)
        }

        // 语音功能----3、识别错误信息
        manager.onError = (res) => {
            if (res.retcode == -30001) {
                // console.log('30001---录音接口出错---没有授权录音请清空缓存重新登录授权');
            }
        }
    }
    
})

# 参数

通过获取全局唯一的语音识别管理器recordRecoManager实现 。

recordRecoManager 对象的方法列表:

方法 参数 说明
start options 开始识别
stop 结束识别
onStart callback 正常开始录音识别时会调用此事件
onRecognize callback 有新的识别内容返回,则会调用此事件
onStop callback 识别结束事件
onError callback 识别错误事件

更多代码详情: 微信同声传译 (opens new window)

上次更新: 2023/7/21 09:43:31

← 数据操作 预览调试→

目录
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式