var options = {
engine: 'baidu',
userInterface: true, // 识别时是否显示内置语音识别界面
continue: false,
lang: lang,
// lang: "zh-cn",
};
// options.punctuation = true; // 是否需要标点符号
// options.timeout = 5 * 1000; //5秒超时结束
console.log('开始语音识别:');
plus.speech.startRecognize(options, function(s){
}, function(e){
console.log('语音识别失败:'+JSON.stringify(e));
} );
![4***@qq.com](https://img-cdn-tc.dcloud.net.cn/account/identicon/6a9fb3956316a4e0729c071ae70a36f3.png)
- 发布:2023-05-24 03:29
- 更新:2023-12-19 11:03
- 阅读:417
产品分类: uniapp/App
PC开发环境操作系统: Mac
PC开发环境操作系统版本号: 12.6.3
HBuilderX类型: 正式
HBuilderX版本号: 3.7.11
手机系统: iOS
手机系统版本号: iOS 14
手机厂商: 苹果
手机机型: iPhone8plus
页面类型: vue
vue版本: vue2
打包方式: 云端
项目创建方式: HBuilderX
示例代码:
操作步骤:
plus.speech.startRecognize后出现识别界面,只要一说话立刻中止了识别,报错-3004
plus.speech.startRecognize后出现识别界面,只要一说话立刻中止了识别,报错-3004
预期结果:
预期应该可以正常识别
预期应该可以正常识别
实际结果:
直接报错-3004
直接报错-3004
bug描述:
同样的代码,安卓可以识别,iOS不行,一说话立刻中止了识别,直接报:
语音识别失败:{"code":2225220,"message":"Error Domain=33 Code=2225220 \"asr authentication failed[info:-3004] [(-3004)] \" UserInfo={NSLocalizedDescription=asr authentication failed[info:-3004] [(-3004)] , NSHelpAnchor=23D5BF09-D249-4972-88CF-EDCC4F996269},https://ask.dcloud.net.cn/article/282"} at pages/study/study.vue:402
3 个回复
4***@qq.com (作者)
var options = {
engine: 'baidu',
userInterface: true, // 识别时是否显示内置语音识别界面
continue: true,
lang: lang,
// lang: "zh-cn",
};
options.punctuation = true; // 是否需要标点符号
我发现continue: true就直接报错,如果是false则可以识别,但是我们需要的是连续识别啊,这个问题我看社区里也有两三个类似问题,好像都没有解决,都两年了,你们是不打算解决吗?
DCloud_iOS_WZT
去百度那边查一下错误码 都是SDK返回的
b***@163.com
找到原因,记录一下,百度语音(语音转文字)要开通的服务有,安卓:短语音识别。ios:任务创建。
写一下心理路程:
最开始用腾讯云实时语音>>websocket通信,但是app下获取不到音频流文件,然后开始市场插件,renderjs获取音频流,但到ios这就尬住了,死活获取不到,(不知道熬了多少个夜晚了)。安卓的还有免费的原生插件,ios的是真没戏。真浪费时间。最后没办法还是用内置的百度云语音识别,但是到ios就碰到这个问题。还没试长语音行不行。
感悟:
既然hbuilder社区开放付费插件付费提问,怎么可能给你用的舒心。
既然hbuilder内置了百度语音识别,怎么可能让你用其他的。
资本都是逐利的,用hbuilder就老老实实当猪,别想其他方案。不然就是几个日夜的试错,到头来还是得用他计划的东西,这是一个圈,你跑不出去的。