speech
Speech模块管理语音输入功能,提供语音识别功能,可支持用户通过麦克风设备进行语音输入内容。通过plus.speech可获取语音输入管理对象。
方法:
- startRecognize: 启动语音识别
- stopRecognize: 停止语音识别
对象:
- SpeechRecognizeOption: JSON对象,语音识别参数
回调方法:
- RecognitionSuccessCallback: 语音识别成功回调
- RecognitionErrorCallback : 语音识别失败回调
模块:
permissions
{
// ...
"permissions":{
// ...
"Speech": {
"description": "语音输入"
}
}
}
startRecognize
启动语音识别
void plus.speech.startRecognize( options, successCB, errorCB );
说明:
启动语音识别时调用,当语音识别成功后通过successCallback回调返回识别出文本内容,调用语音识别失败则通过errorCallback回调返回。
参数:
- options:
(
SpeechRecognizeOption
)
必选 语音识别参数,用于控制语音引擎的各种技术参数
- successCB:
(
RecognitionSuccessCallback
)
可选 语音识别成功回调
当语音识别引擎识别数据成功时的回调函数,并返回识别出的文本内容。 - errorCB:
(
RecognitionErrorCallback
)
可选 语音识别失败时的回调函数
当语音识别引擎识别数据失败时的回调函数,并返回失败的错误信息。
返回值:
void : 无示例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
<title>Speech Example</title>
<script type="text/javascript">
// 监听plusready事件
document.addEventListener( "plusready", function(){
// 扩展API加载完毕,现在可以正常调用扩展API
// ...
}, false );
var text=null;
function startRecognize () {
var options = {};
options.engine = 'iFly';
text = "";
alert( "开始语音识别:" );
plus.speech.startRecognize( options, function ( s ) {
text += s;
}, function ( e ) {
alert( "语音识别失败:"+e.message );
} );
}
</script>
</head>
<body>
<button onclick="startRecognize">开始识别</button><br/>
<button onclick="alert(text);">识别内容</button>
</body>
</html>
stopRecognize
停止语音识别
void plus.speech.stopRecognize();
说明:
当语音识别完成时或用户取消语音识别时调用,调用此方法将导致errorCallback回调函数的调用。
参数:
无
返回值:
void : 无示例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
<title>Speech Example</title>
<script type="text/javascript">
// 监听plusready事件
document.addEventListener( "plusready", function(){
// 扩展API加载完毕,现在可以正常调用扩展API
// ...
}, false );
var text=null;
function startRecognize () {
var options = {};
options.engine = 'iFly';
text = "";
alert( "开始语音识别:" );
plus.speech.startRecognize( options, function ( s ) {
text += s;
}, function ( e ) {
alert( "语音识别失败:"+e.message );
} );
setTimeout( stopRecognize, 10000 );
}
function stopRecognize(){
plus.speech.stopRecognize();
}
</script>
</head>
<body>
<button onclick="startRecognize">开始识别(10s后自动关闭)</button><br/>
<button onclick="alert(text);">识别内容</button>
</body>
</html>
SpeechRecognizeOption
JSON对象,语音识别参数
interface plus.speech.SpeechRecognizeOption {
attribute String engine;
attribute String service;
attribute Number timeout;
attribute String lang;
attribute String punctuation;
attribute Boolean continue;
attribute Number nbest;
attribute Boolean userInterface;
attribute EventHandler onstart;
attribute EventHandler onend;
attribute EventHandler onaudiostart;
attribute EventHandler onaudioend;
attribute EventHandler onrecognizestart;
attribute EventHandler onrecognizeend;
}
说明:
控制语音识别引擎内部参数,在JS中为JSON对象,在启动语音识别时使用。
属性:
- engine: (String
类型
)语音识别引擎标识
用于兼容多语音识别引擎的浏览器,建议使用语音识别厂商的产品名称,如未设置或设置不正确则使用浏览器默认的语音识别引擎。
- service: (String
类型
)语音识别引擎服务器地址
可使用url地址或ip地址,如service:192.168.1.99指定定制的语音识别引擎服务器。默认值为浏览器内置服务器地址。
- timeout: (Number
类型
)语音识别超时时间
语音识别超时的时间,单位为ms,如timeout:60000,默认值为10s。
- lang: (String
类型
)语音识别引擎的语言
用于定义语音识别引擎的语言,其取值需符合W3C的Language codes规范。 目前讯飞语音支持以下语言: "zh-cn" - 中文,普通话; "en-us" - 英语; "zh-cantonese" - 中文,粤语; "zh-henanese" - 中文,河南话。 默认值为“zh-cn”。
- punctuation: (Boolean
类型
)识别结果中是否包含标点符号
true表示识别结果文本中包含标点符号,false表示识别结果文本中不包含标点符号。 默认值为true。
- continue: (Boolean
类型
)语音识别是否采用持续模式
设置为true表示语音引擎不会根据语音输入自动结束,识别到文本内容将多次调用successCallback函数返回,如果需要结束语音识别则必须调用stopRecognize接口,默认值为false。
- nbest: (Number
类型
)指定识别结果识别包括多候选结果
用于指定识别结果识别包括多候选结果。如nbest:3,识别返回3个候选结果,默认值为1。
- userInterface: (Boolean
类型
)识别时是否显示用户界面
用于指定识别时是否显示用户界面,设置为true表示显示浏览器内置语音识别界面;设置为false表示不显示浏览器内置语音识别界面。默认值为true。
- onstart: (EventHandler
类型
)语音识别开始事件
事件函数,语音识别开始启动,在调用startRecognize方法后触发,与onend事件成对触发。
- onend: (EventHandler
类型
)语音识别结束事件
事件函数,语音识别结束,在调用stopRecognize方法后触发,或者在引擎内部自动完成语音识别后触发,与onstart事件成对触发。
- onaudiostart: (EventHandler
类型
)录音开始事件
事件函数,录音开始事件,启动语音识别后,调用设备麦克风设备开始一段语音录音时触发,与onaudioend事件成对触发。
- onaudioend: (EventHandler
类型
)录音结束事件
事件函数,录音结束事件,调用麦克风完成一段语音录音时触发,与onaudiostart事件成对触发。
- onrecognizestart: (EventHandler
类型
)录音识别开始事件
事件函数,录音识别开始事件,开始对语音录音数据分析识别,与onrecognizeend事件成对触发。
- onrecognizeend: (EventHandler
类型
)录音识别结束事件
事件函数,录音识别结束事件,开始对语音录音数据分析识别完成,与onrecognizestart事件成对触发。
RecognitionSuccessCallback
语音识别成功回调
void RecognitionSuccessCallback ( results ) {
// Recognition success code
}
说明:
当语音识别成功时的回调函数,用于返回语音识别出的文本内容。
参数:
- results:
(
Array[
String
]
)
必选 语音识别出的文本内容数组
语音识别出的候选文本内容,区配度高的在数组的前面,通过其length属性可获取总的候选内容的长度
返回值:
void : 无RecognitionErrorCallback
语音识别失败回调
void RecognitionErrorCallback ( error ) {
// Recognition error code
}
说明:
当语音识别失败时的回调函数,用于返回语音识别失败的错误信息。
参数:
- error:
(
DOMException
)
必选 语音识别失败的错误信息