uniapp如何配置智聆口语评测

在uniapp中如何配置智聆口语评测功能?需要哪些步骤和关键配置项?官方文档提到的AppID和密钥应该在哪里填写?有没有完整的示例代码可以参考?

2 回复

manifest.json中添加腾讯语音插件,引入SDK后调用startRecordstopRecord方法即可实现录音和评测功能。


在 UniApp 中配置腾讯云智聆口语评测,可通过以下步骤实现。整个过程包括注册腾讯云服务、获取密钥、集成 SDK 和调用接口。

步骤 1:注册腾讯云并开通服务

  • 访问腾讯云官网,注册账号并完成实名认证。
  • 进入「智聆口语评测」产品页,开通服务。
  • 获取 SecretIdSecretKey(在「访问管理」-「API密钥管理」中查看)。妥善保管,避免泄露。

步骤 2:安装依赖

UniApp 支持通过 npm 安装腾讯云 SDK。在项目根目录执行:

npm install tencentcloud-sdk-nodejs --save

步骤 3:编写评测代码

在 UniApp 的 Vue 页面或公共模块中,引入 SDK 并调用口语评测 API。示例代码(以「句子评测」为例):

// 引入 SDK
const tencentcloud = require("tencentcloud-sdk-nodejs");
const SoeClient = tencentcloud.soe.v20180724.Client;

// 配置客户端
const clientConfig = {
  credential: {
    secretId: "YOUR_SECRET_ID", // 替换为你的 SecretId
    secretKey: "YOUR_SECRET_KEY", // 替换为你的 SecretKey
  },
  region: "ap-beijing", // 根据服务区域调整,如 ap-guangzhou
  profile: {
    httpProfile: {
      endpoint: "soe.tencentcloudapi.com",
    },
  },
};

// 创建客户端实例
const client = new SoeClient(clientConfig);

// 定义评测参数
const params = {
  RefText: "hello world", // 评测文本
  SessionId: "test_session_001", // 唯一会话 ID
  WorkMode: 0, // 0:流式评测,1:非流式
  EvalMode: 1, // 1:句子模式
  ScoreCoeff: 1.0, // 评分严格度
  VoiceEncodeType: 1, // 1:pcm,其他格式参考文档
  VoiceFileType: 1, // 1:原始音频,2:wav
  // 音频数据:需通过 UniApp 录音 API 获取,转换为 Base64 或二进制
  UserVoiceData: "BASE64_ENCODED_AUDIO_DATA",
};

// 调用评测接口
client.InitOralProcess(params).then(
  (data) => {
    console.log("评测结果:", data);
    // 处理返回的发音分数、流利度等数据
  },
  (err) => {
    console.error("评测错误:", err);
  }
);

步骤 4:处理音频数据

使用 UniApp 的 uni.getRecorderManager() 录制音频,转换为 Base64 或二进制格式后传入 UserVoiceData。示例片段:

const recorderManager = uni.getRecorderManager();
recorderManager.onStop((res) => {
  const voiceData = res.tempFilePath; // 获取临时文件路径
  // 将音频文件转换为 Base64(需使用 uni.getFileSystemManager().readFileSync 处理)
});

注意事项

  • 网络请求:UniApp 需在 manifest.json 中配置网络权限(如勾选「不校验合法域名」用于开发)。
  • 音频格式:确保音频编码(如 PCM、WAV)和采样率符合腾讯云要求(详见官方文档)。
  • 错误处理:添加 try-catch 或 Promise 错误捕获,处理网络或参数异常。
  • 安全建议:SecretKey 应存储于服务器,前端通过云函数调用以避免泄露(示例为演示目的)。

参考资源

以上步骤可帮助你在 UniApp 中快速集成口语评测功能。如有复杂需求(如流式传输),建议结合云函数部署逻辑以提升安全性。

回到顶部