uniapp如何配置智聆口语评测
在uniapp中如何配置智聆口语评测功能?需要哪些步骤和关键配置项?官方文档提到的AppID和密钥应该在哪里填写?有没有完整的示例代码可以参考?
2 回复
在manifest.json中添加腾讯语音插件,引入SDK后调用startRecord和stopRecord方法即可实现录音和评测功能。
在 UniApp 中配置腾讯云智聆口语评测,可通过以下步骤实现。整个过程包括注册腾讯云服务、获取密钥、集成 SDK 和调用接口。
步骤 1:注册腾讯云并开通服务
- 访问腾讯云官网,注册账号并完成实名认证。
- 进入「智聆口语评测」产品页,开通服务。
- 获取 SecretId 和 SecretKey(在「访问管理」-「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 应存储于服务器,前端通过云函数调用以避免泄露(示例为演示目的)。
参考资源
- 腾讯云智聆口语评测文档:https://cloud.tencent.com/document/product/884
- UniApp 录音管理文档:https://uniapp.dcloud.io/api/media/record-manager
以上步骤可帮助你在 UniApp 中快速集成口语评测功能。如有复杂需求(如流式传输),建议结合云函数部署逻辑以提升安全性。

