Speech模块管理语音输入功能,提供语音识别功能,可支持用户通过麦克风设备进行语音输 ...
<div id="article_content" class="article_content clearfix"><link rel="stylesheet" href="https://csdnimg.cn/release/blogv2/dist/mdeditor/css/editerView/kdoc_html_views-1a98987dfd.css">
<link rel="stylesheet" href="https://csdnimg.cn/release/blogv2/dist/mdeditor/css/editerView/ck_htmledit_views-6e43165c0a.css">
<div id="content_views" class="htmledit_views">
<p style="margin-left:0;"><span style="color:#474747;"><span style="background-color:#f6f4f2;">Speech模块管理语音输入功能,提供语音识别功能,可支持用户通过麦克风设备进行语音输入内容。通过plus.speech可获取语音输入管理对象。</span></span></p>
<p style="margin-left:0;"><span style="color:#474747;"><span style="background-color:#f6f4f2;">语音输入接口可使得网页开发人员能快速调用设备的麦克风进行语音输入,而不需要安装额外的浏览器插件。规范不定义底层语音识别引擎的技术架构,浏览器实现可基于语音识别服务器或本地内置语音识别模块。</span></span></p>
<h2 style="margin-left:.8em;"><span style="color:#f13a0e;"><strong><span style="background-color:#f6f4f2;">方法:</span></strong></span></h2>
<ul><li><ahref="https://blog.csdn.net/qq_40575646/article/details/122837404#plus.speech.startRecognize">startRecognize</a>: 启动语音识别</li><li><ahref="https://blog.csdn.net/qq_40575646/article/details/122837404#plus.speech.stopRecognize">stopRecognize</a>: 停止语音识别</li><li><ahref="https://blog.csdn.net/qq_40575646/article/details/122837404#plus.speech.addEventListener">addEventListener</a>: 监听语音识别事件</li></ul>
<h2 style="margin-left:.8em;"><span style="color:#f13a0e;"><strong><span style="background-color:#f6f4f2;">对象:</span></strong></span></h2>
<ul><li><ahref="https://www.html5plus.org/doc/zh_cn/speech.html#plus.speech.SpeechRecognizeOptions">SpeechRecognizeOptions</a>: JSON对象,语音识别参数</li><li><ahref="https://www.html5plus.org/doc/zh_cn/speech.html#plus.speech.SpeechRecoginzeEvents">SpeechRecoginzeEvents</a>: 语音识别事件类型</li></ul>
<h2 style="margin-left:.8em;"><span style="color:#f13a0e;"><strong><span style="background-color:#f6f4f2;">回调方法:</span></strong></span></h2>
<ul><li><ahref="https://www.html5plus.org/doc/zh_cn/speech.html#plus.speech.RecognitionEventCallback">RecognitionEventCallback</a>: 语音识别事件回调函数</li><li><ahref="https://www.html5plus.org/doc/zh_cn/speech.html#plus.speech.RecognitionSuccessCallback">RecognitionSuccessCallback</a>: 语音识别成功回调</li><li><ahref="https://blog.csdn.net/qq_40575646/article/details/122837404#plus.speech.RecognitionErrorCallback%20">RecognitionErrorCallback </a>: 语音识别失败回调</li></ul>
<h2 style="margin-left:.8em;"><span style="color:#f13a0e;"><strong><span style="background-color:#f6f4f2;">权限:</span></strong></span></h2>
<p style="margin-left:0;"><span style="color:#474747;"><span style="background-color:#f6f4f2;">permissions</span></span></p>
<pre class="has" style="margin-left:0;"><code class="language-prettyprint"><span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#ffffff">{</span>
<span style="color:#87ceeb">// ...</span>
<span style="color:#ffa0a0">"permissions"</span><span style="color:#ffffff">:{</span>
<span style="color:#87ceeb">// ...</span>
<span style="color:#ffa0a0">"Speech"</span><span style="color:#ffffff">:</span> <span style="color:#ffffff">{</span>
<span style="color:#ffa0a0">"description"</span><span style="color:#ffffff">:</span> <span style="color:#ffa0a0">"语音输入"</span>
<span style="color:#ffffff">}</span>
<span style="color:#ffffff">}</span>
<span style="color:#ffffff">}</span>
</code></span></span></code></pre>
<h1 style="margin-left:0;"><span style="color:#474747;"><span style="background-color:#f6f4f2;"><!--LINK#0_8-->startRecognize</span></span></h1>
<p style="margin-left:0;"><span style="color:#474747;"><span style="background-color:#f6f4f2;">启动语音识别</span></span></p>
<pre class="has" style="margin-left:0;"><code class="language-prettyprint"><span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">speech</span><span style="color:#ffffff">.</span><span style="color:#ffffff">startRecognize</span><span style="color:#ffffff">(</span><span style="color:#ffffff"> options</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> successCB</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> errorCB </span><span style="color:#ffffff">);</span>
</code></span></span></code></pre>
<h2 style="margin-left:.8em;"><span style="color:#f13a0e;"><strong><span style="background-color:#f6f4f2;">说明:</span></strong></span></h2>
<p style="margin-left:0;"><span style="color:#474747;"><span style="background-color:#f6f4f2;">启动语音识别时调用,当语音识别成功后通过successCallback回调返回识别出文本内容,调用语音识别失败则通过errorCallback回调返回。</span></span></p>
<h2 style="margin-left:.8em;"><span style="color:#f13a0e;"><strong><span style="background-color:#f6f4f2;">参数:</span></strong></span></h2>
<ul><li>options: <em>( <ahref="https://blog.csdn.net/qq_40575646/article/details/122837404#plus.speech.SpeechRecognizeOptions">SpeechRecognizeOptions</a> ) 必选 </em>语音识别参数,用于控制语音引擎的各种技术参数 <p style="margin-left:0;"></p> </li><li>successCB: <em>( <ahref="https://blog.csdn.net/qq_40575646/article/details/122837404#plus.speech.RecognitionSuccessCallback">RecognitionSuccessCallback</a> ) 可选 </em>语音识别成功回调 <p style="margin-left:0;"><span style="color:#474747;">当语音识别引擎识别数据成功时的回调函数,并返回识别出的文本内容。</span></p> </li><li>errorCB: <em>( <ahref="https://www.html5plus.org/doc/zh_cn/speech.html#plus.speech.RecognitionErrorCallback">RecognitionErrorCallback</a> ) 可选 </em>语音识别失败时的回调函数 <p style="margin-left:0;"><span style="color:#474747;">当语音识别引擎识别数据失败时的回调函数,并返回失败的错误信息。</span></p> </li></ul>
<h2 style="margin-left:.8em;"><span style="color:#f13a0e;"><strong><span style="background-color:#f6f4f2;">返回值:</span></strong></span></h2>
<p>void<span style="color:#474747;"><span style="background-color:#f6f4f2;"> : 无</span></span></p>
<h2 style="margin-left:.8em;"><span style="color:#f13a0e;"><strong><span style="background-color:#f6f4f2;">示例:</span></strong></span></h2>
<pre class="has" style="margin-left:0;"><code class="language-prettyprint"><span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#cccccc"><!DOCTYPE html></span>
<span style="color:#f0e68c"><strong><html></strong></span>
<span style="color:#f0e68c"><strong><head></strong></span>
<span style="color:#f0e68c"><strong><meta</strong></span> <span style="color:#bdb76b"><strong>charset</strong></span><span style="color:#ffffff">=</span><span style="color:#ffa0a0">"utf-8"</span><span style="color:#f0e68c"><strong>/></strong></span>
<span style="color:#f0e68c"><strong><meta</strong></span> <span style="color:#bdb76b"><strong>name</strong></span><span style="color:#ffffff">=</span><span style="color:#ffa0a0">"viewport"</span> <span style="color:#bdb76b"><strong>content</strong></span><span style="color:#ffffff">=</span><span style="color:#ffa0a0">"initial-scale=1.0, maximum-scale=1.0, user-scalable=no"</span><span style="color:#f0e68c"><strong>/></strong></span>
<span style="color:#f0e68c"><strong><title></strong></span><span style="color:#ffffff">Speech Example</span><span style="color:#f0e68c"><strong></title></strong></span>
<span style="color:#f0e68c"><strong><script</strong></span> <span style="color:#bdb76b"><strong>type</strong></span><span style="color:#ffffff">=</span><span style="color:#ffa0a0">"text/javascript"</span><span style="color:#f0e68c"><strong>></strong></span>
<span style="color:#87ceeb">// 监听plusready事件</span><span style="color:#ffffff">
document</span><span style="color:#ffffff">.</span><span style="color:#ffffff">addEventListener</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">"plusready"</span><span style="color:#ffffff">,</span> <span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(){</span>
<span style="color:#87ceeb">// 扩展API加载完毕,现在可以正常调用扩展API</span>
<span style="color:#87ceeb">// ...</span>
<span style="color:#ffffff">},</span> <span style="color:#f0e68c"><strong>false</strong></span><span style="color:#ffffff">);</span>
<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> text</span><span style="color:#ffffff">=</span><span style="color:#f0e68c"><strong>null</strong></span><span style="color:#ffffff">;</span>
<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff"> startRecognize</span><span style="color:#ffffff">(){</span>
<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> options </span><span style="color:#ffffff">=</span> <span style="color:#ffffff">{};</span><span style="color:#ffffff">
options</span><span style="color:#ffffff">.</span><span style="color:#ffffff">engine </span><span style="color:#ffffff">=</span> <span style="color:#ffa0a0">'iFly'</span><span style="color:#ffffff">;</span><span style="color:#ffffff">
text </span><span style="color:#ffffff">=</span> <span style="color:#ffa0a0">""</span><span style="color:#ffffff">;</span><span style="color:#ffffff">
alert</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">"开始语音识别:"</span><span style="color:#ffffff">);</span><span style="color:#ffffff">
plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">speech</span><span style="color:#ffffff">.</span><span style="color:#ffffff">startRecognize</span><span style="color:#ffffff">(</span><span style="color:#ffffff">options</span><span style="color:#ffffff">,</span> <span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">s</span><span style="color:#ffffff">){</span><span style="color:#ffffff">
text </span><span style="color:#ffffff">+=</span><span style="color:#ffffff"> s</span><span style="color:#ffffff">;</span>
<span style="color:#ffffff">},</span> <span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">){</span><span style="color:#ffffff">
alert</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">"语音识别失败:"</span><span style="color:#ffffff">+</span><span style="color:#ffffff">e</span><span style="color:#ffffff">.</span><span style="color:#ffffff">message</span><span style="color:#ffffff">);</span>
<span style="color:#ffffff">});</span>
<span style="color:#ffffff">}</span>
<span style="color:#f0e68c"><strong></script></strong></span>
<span style="color:#f0e68c"><strong></head></strong></span>
<span style="color:#f0e68c"><strong><body></strong></span>
<span style="color:#f0e68c"><strong><button</strong></span> <span style="color:#bdb76b"><strong>onclick</strong></span><span style="color:#ffffff">=</span><span style="color:#ffa0a0">"</span><span style="color:#ffffff">startRecognize</span><span style="color:#ffffff">()</span><span style="color:#ffa0a0">"</span><span style="color:#f0e68c"><strong>></strong></span><span style="color:#ffffff">开始识别</span><span style="color:#f0e68c"><strong></button><br/></strong></span>
<span style="color:#f0e68c"><strong><button</strong></span> <span style="color:#bdb76b"><strong>onclick</strong></span><span style="color:#ffffff">=</span><span style="color:#ffa0a0">"</span><span style="color:#ffffff">alert</span><span style="color:#ffffff">(</span><span style="color:#ffffff">text</span><span style="color:#ffffff">);</span><span style="color:#ffa0a0">"</span><span style="color:#f0e68c"><strong>></strong></span><span style="color:#ffffff">识别内容</span><span style="color:#f0e68c"><strong></button></strong></span>
<span style="color:#f0e68c"><strong></body></strong></span>
<span style="color:#f0e68c"><strong></html></strong></span>
</code></span></span></code></pre>
<p style="margin-left:0;"><span style="color:#474747;"><span style="background-color:#f6f4f2;"><ahref="https://uniapp.dcloud.io/use-html5plus">uni-app使用plus注意事项</a></span></span></p>
<h1 style="margin-left:0;"><span style="color:#474747;"><span style="background-color:#f6f4f2;"><!--LINK#0_13-->stopRecognize</span></span></h1>
<p style="margin-left:0;"><span style="color:#474747;"><span style="background-color:#f6f4f2;">停止语音识别</span></span></p>
<pre class="has" style="margin-left:0;"><code class="language-prettyprint"><span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">speech</span><span style="color:#ffffff">.</span><span style="color:#ffffff">stopRecognize</span><span style="color:#ffffff">();</span>
</code></span></span></code></pre>
<h2 style="margin-left:.8em;"><span style="color:#f13a0e;"><strong><span style="background-color:#f6f4f2;">说明:</span></strong></span></h2>
<p style="margin-left:0;"><span style="color:#474747;"><span style="background-color:#f6f4f2;">当语音识别完成时或用户取消语音识别时调用,调用此方法将导致errorCallback回调函数的调用。</span></span></p>
<h2 style="margin-left:.8em;"><span style="color:#f13a0e;"><strong><span style="background-color:#f6f4f2;">参数:</span></strong></span></h2>
<p style="margin-left:0;"><span style="color:#474747;"><span style="background-color:#f6f4f2;">无</span></span></p>
<h2 style="margin-left:.8em;"><span style="color:#f13a0e;"><strong><span style="background-color:#f6f4f2;">返回值:</span></strong></span></h2>
<p>void<span style="color:#474747;"><span style="background-color:#f6f4f2;"> : 无</span></span></p>
<h2 style="margin-left:.8em;"><span style="color:#f13a0e;"><strong><span style="background-color:#f6f4f2;">示例:</span></strong></span></h2>
<pre class="has" style="margin-left:0;"><code class="language-prettyprint"><span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#cccccc"><!DOCTYPE html></span>
<span style="color:#f0e68c"><strong><html></strong></span>
<span style="color:#f0e68c"><strong><head></strong></span>
<span style="color:#f0e68c"><strong><meta</strong></span> <span style="color:#bdb76b"><strong>charset</strong></span><span style="color:#ffffff">=</span><span style="color:#ffa0a0">"utf-8"</span><span style="color:#f0e68c"><strong>/></strong></span>
<span style="color:#f0e68c"><strong><meta</strong></span> <span style="color:#bdb76b"><strong>name</strong></span><span style="color:#ffffff">=</span><span style="color:#ffa0a0">"viewport"</span> <span style="color:#bdb76b"><strong>content</strong></span><span style="color:#ffffff">=</span><span style="color:#ffa0a0">"initial-scale=1.0, maximum-scale=1.0, user-scalable=no"</span><span style="color:#f0e68c"><strong>/></strong></span>
<span style="color:#f0e68c"><strong><title></strong></span><span style="color:#ffffff">Speech Example</span><span style="color:#f0e68c"><strong></title></strong></span>
<span style="color:#f0e68c"><strong><script</strong></span> <span style="color:#bdb76b"><strong>type</strong></span><span style="color:#ffffff">=</span><span style="color:#ffa0a0">"text/javascript"</span><span style="color:#f0e68c"><strong>></strong></span>
<span style="color:#87ceeb">// 监听plusready事件</span><span style="color:#ffffff">
document</span><span style="color:#ffffff">.</span><span style="color:#ffffff">addEventListener</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">"plusready"</span><span style="color:#ffffff">,</span> <span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(){</span>
<span style="color:#87ceeb">// 扩展API加载完毕,现在可以正常调用扩展API</span>
<span style="color:#87ceeb">// ...</span>
<span style="color:#ffffff">},</span> <span style="color:#f0e68c"><strong>false</strong></span> <span style="color:#ffffff">);</span>
<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> text</span><span style="color:#ffffff">=</span><span style="color:#f0e68c"><strong>null</strong></span><span style="color:#ffffff">;</span>
<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff"> startRecognize </span><span style="color:#ffffff">()</span> <span style="color:#ffffff">{</span>
<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> options </span><span style="color:#ffffff">=</span> <span style="color:#ffffff">{};</span><span style="color:#ffffff">
options</span><span style="color:#ffffff">.</span><span style="color:#ffffff">engine </span><span style="color:#ffffff">=</span> <span style="color:#ffa0a0">'iFly'</span><span style="color:#ffffff">;</span><span style="color:#ffffff">
text </span><span style="color:#ffffff">=</span> <span style="color:#ffa0a0">""</span><span style="color:#ffffff">;</span><span style="color:#ffffff">
alert</span><span style="color:#ffffff">(</span> <span style="color:#ffa0a0">"开始语音识别:"</span> <span style="color:#ffffff">);</span><span style="color:#ffffff">
plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">speech</span><span style="color:#ffffff">.</span><span style="color:#ffffff">startRecognize</span><span style="color:#ffffff">(</span><span style="color:#ffffff"> options</span><span style="color:#ffffff">,</span> <span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#ffffff">(</span><span style="color:#ffffff"> s </span><span style="color:#ffffff">)</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
text </span><span style="color:#ffffff">+=</span><span style="color:#ffffff"> s</span><span style="color:#ffffff">;</span>
<span style="color:#ffffff">},</span> <span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#ffffff">(</span><span style="color:#ffffff"> e </span><span style="color:#ffffff">)</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
alert</span><span style="color:#ffffff">(</span> <span style="color:#ffa0a0">"语音识别失败:"</span><span style="color:#ffffff">+</span><span style="color:#ffffff">e</span><span style="color:#ffffff">.</span><span style="color:#ffffff">message </span><span style="color:#ffffff">);</span>
<span style="color:#ffffff">}</span> <span style="color:#ffffff">);</span><span style="color:#ffffff">
setTimeout</span><span style="color:#ffffff">(</span><span style="color:#ffffff"> stopRecognize</span><span style="color:#ffffff">,</span> <span style="color:#cd5c5c">10000</span> <span style="color:#ffffff">);</span>
<span style="color:#ffffff">}</span>
<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff"> stopRecognize</span><span style="color:#ffffff">(){</span><span style="color:#ffffff">
plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">speech</span><span style="color:#ffffff">.</span><span style="color:#ffffff">stopRecognize</span><span style="color:#ffffff">();</span>
<span style="color:#ffffff">}</span>
<span style="color:#f0e68c"><strong></script></strong></span>
<span style="color:#f0e68c"><strong></head></strong></span>
<span style="color:#f0e68c"><strong><body></strong></span>
<span style="color:#f0e68c"><strong><button</strong></span> <span style="color:#bdb76b"><strong>onclick</strong></span><span style="color:#ffffff">=</span><span style="color:#ffa0a0">"</span><span style="color:#ffffff">startRecognize</span><span style="color:#ffa0a0">"</span><span style="color:#f0e68c"><strong>></strong></span><span style="color:#ffffff">开始识别(10s后自动关闭)</span><span style="color:#f0e68c"><strong></button><br/></strong></span>
<span style="color:#f0e68c"><strong><button</strong></span> <span style="color:#bdb76b"><strong>onclick</strong></span><span style="color:#ffffff">=</span><span style="color:#ffa0a0">"</span><span style="color:#ffffff">alert</span><span style="color:#ffffff">(</span><span style="color:#ffffff">text</span><span style="color:#ffffff">);</span><span style="color:#ffa0a0">"</span><span style="color:#f0e68c"><strong>></strong></span><span style="color:#ffffff">识别内容</span><span style="color:#f0e68c"><strong></button></strong></span>
<span style="color:#f0e68c"><strong></body></strong></span>
<span style="color:#f0e68c"><strong></html></strong></span>
</code></span></span></code></pre>
<p style="margin-left:0;"><span style="color:#474747;"><span style="background-color:#f6f4f2;"><ahref="https://uniapp.dcloud.io/use-html5plus">uni-app使用plus注意事项</a></span></span></p>
<h1 style="margin-left:0;"><span style="color:#474747;"><span style="background-color:#f6f4f2;"><!--LINK#0_15-->addEventListener</span></span></h1>
<p style="margin-left:0;"><span style="color:#474747;"><span style="background-color:#f6f4f2;">监听语音识别事件</span></span></p>
<pre class="has" style="margin-left:0;"><code class="language-prettyprint"><span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">speech</span><span style="color:#ffffff">.</span><span style="color:#ffffff">addEventListener</span><span style="color:#ffffff">(</span><span style="color:#f0e68c"><strong>event</strong></span><span style="color:#ffffff">,</span><span style="color:#ffffff"> listener</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> capture</span><span style="color:#ffffff">);</span>
</code></span></span></code></pre>
<h2 style="margin-left:.8em;"><span style="color:#f13a0e;"><strong><span style="background-color:#f6f4f2;">说明:</span></strong></span></h2>
<p style="margin-left:0;"><span style="color:#474747;"><span style="background-color:#f6f4f2;">向语音识别模块添加事件监听器,当指定的事件发生时,将触发listener函数的执行。 可多次调用此方法添加多个监听器,当监听的事件发生时,将按照添加的先后顺序触发执行。</span></span></p>
<h2 style="margin-left:.8em;"><span style="color:#f13a0e;"><strong><span style="background-color:#f6f4f2;">参数:</span></strong></span></h2>
<ul><li>event: <em>( <ahref="https://blog.csdn.net/qq_40575646/article/details/122837404#plus.speech.SpeechRecoginzeEvents">SpeechRecoginzeEvents</a> ) 必选 </em>语音识别事件类型 <p style="margin-left:0;"></p> </li><li>listener: <em>( <ahref="https://blog.csdn.net/qq_40575646/article/details/122837404#plus.speech.RecognitionEventCallback">RecognitionEventCallback</a> ) 必选 </em>监听事件发生时执行的回调函数 <p style="margin-left:0;"></p> </li><li>capture: <em>( Boolean ) 可选 </em>捕获事件流顺序,暂无效果 <p style="margin-left:0;"></p> </li></ul>
<h2 style="margin-left:.8em;"><span style="color:#f13a0e;"><strong><span style="background-color:#f6f4f2;">返回值:</span></strong></span></h2>
<p>void<span style="color:#474747;"><span style="background-color:#f6f4f2;"> : 无</span></span></p>
<h2 style="margin-left:.8em;"><span style="color:#f13a0e;"><strong><span style="background-color:#f6f4f2;">示例:</span></strong></span></h2>
<pre class="has" style="margin-left:0;"><code class="language-prettyprint"><span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#cccccc"><!DOCTYPE html></span>
<span style="color:#f0e68c"><strong><html></strong></span>
<span style="color:#f0e68c"><strong><head></strong></span>
<span style="color:#f0e68c"><strong><meta</strong></span> <span style="color:#bdb76b"><strong>charset</strong></span><span style="color:#ffffff">=</span><span style="color:#ffa0a0">"utf-8"</span><span style="color:#f0e68c"><strong>/></strong></span>
<span style="color:#f0e68c"><strong><meta</strong></span> <span style="color:#bdb76b"><strong>name</strong></span><span style="color:#ffffff">=</span><span style="color:#ffa0a0">"viewport"</span> <span style="color:#bdb76b"><strong>content</strong></span><span style="color:#ffffff">=</span><span style="color:#ffa0a0">"initial-scale=1.0, maximum-scale=1.0, user-scalable=no"</span><span style="color:#f0e68c"><strong>/></strong></span>
<span style="color:#f0e68c"><strong><title></strong></span><span style="color:#ffffff">Speech Example</span><span style="color:#f0e68c"><strong></title></strong></span>
<span style="color:#f0e68c"><strong><script</strong></span> <span style="color:#bdb76b"><strong>type</strong></span><span style="color:#ffffff">=</span><span style="color:#ffa0a0">"text/javascript"</span><span style="color:#f0e68c"><strong>></strong></span>
<span style="color:#87ceeb">// 监听plusready事件</span><span style="color:#ffffff">
document</span><span style="color:#ffffff">.</span><span style="color:#ffffff">addEventListener</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">"plusready"</span><span style="color:#ffffff">,</span> <span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(){</span>
<span style="color:#87ceeb">// 监听语音识别事件</span><span style="color:#ffffff">
plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">speech</span><span style="color:#ffffff">.</span><span style="color:#ffffff">addEventListener</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">"start"</span><span style="color:#ffffff">,</span> <span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(){</span><span style="color:#ffffff">
text </span><span style="color:#ffffff">=</span> <span style="color:#f0e68c"><strong>null</strong></span><span style="color:#ffffff">;</span>
<span style="color:#ffffff">},</span> <span style="color:#f0e68c"><strong>false</strong></span><span style="color:#ffffff">);</span><span style="color:#ffffff">
plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">speech</span><span style="color:#ffffff">.</span><span style="color:#ffffff">addEventListener</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">"recognition"</span><span style="color:#ffffff">,</span> <span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">){</span><span style="color:#ffffff">
text </span><span style="color:#ffffff">+=</span><span style="color:#ffffff"> e</span><span style="color:#ffffff">.</span><span style="color:#ffffff">result</span><span style="color:#ffffff">;</span>
<span style="color:#ffffff">},</span> <span style="color:#f0e68c"><strong>false</strong></span><span style="color:#ffffff">);</span><span style="color:#ffffff">
plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">speech</span><span style="color:#ffffff">.</span><span style="color:#ffffff">addEventListener</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">"end"</span><span style="color:#ffffff">,</span> <span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(){</span><span style="color:#ffffff">
alert</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">"Success: "</span><span style="color:#ffffff">+</span><span style="color:#ffffff">text</span><span style="color:#ffffff">);</span>
<span style="color:#ffffff">},</span> <span style="color:#f0e68c"><strong>false</strong></span><span style="color:#ffffff">);</span>
<span style="color:#ffffff">},</span> <span style="color:#f0e68c"><strong>false</strong></span> <span style="color:#ffffff">);</span>
<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> text</span><span style="color:#ffffff">=</span><span style="color:#f0e68c"><strong>null</strong></span><span style="color:#ffffff">;</span>
<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff"> startRecognize</span><span style="color:#ffffff">()</span> <span style="color:#ffffff">{</span>
<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> options </span><span style="color:#ffffff">=</span> <span style="color:#ffffff">{};</span><span style="color:#ffffff">
text </span><span style="color:#ffffff">=</span> <span style="color:#ffa0a0">""</span><span style="color:#ffffff">;</span><span style="color:#ffffff">
plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">speech</span><span style="color:#ffffff">.</span><span style="color:#ffffff">startRecognize</span><span style="color:#ffffff">(</span><span style="color:#ffffff">options</span><span style="color:#ffffff">);</span>
<span style="color:#ffffff">}</span>
<span style="color:#f0e68c"><strong></script></strong></span>
<span style="color:#f0e68c"><strong></head></strong></span>
<span style="color:#f0e68c"><strong><body></strong></span>
<span style="color:#f0e68c"><strong><button</strong></span> <span style="color:#bdb76b"><strong>onclick</strong></span><span style="color:#ffffff">=</span><span style="color:#ffa0a0">"</span><span style="color:#ffffff">startRecognize</span><span style="color:#ffffff">()</span><span style="color:#ffa0a0">"</span><span style="color:#f0e68c"><strong>></strong></span><span style="color:#ffffff">开始识别</span><span style="color:#f0e68c"><strong></button><br/></strong></span>
<span style="color:#f0e68c"><strong></body></strong></span>
<span style="color:#f0e68c"><strong></html></strong></span>
</code></span></span></code></pre>
<p style="margin-left:0;"><span style="color:#474747;"><span style="background-color:#f6f4f2;"><ahref="https://uniapp.dcloud.io/use-html5plus">uni-app使用plus注意事项</a></span></span></p>
<h1 style="margin-left:0;"><span style="color:#474747;"><span style="background-color:#f6f4f2;"><!--LINK#0_19-->SpeechRecognizeOptions</span></span></h1>
<p style="margin-left:0;"><span style="color:#474747;"><span style="background-color:#f6f4f2;">JSON对象,语音识别参数</span></span></p>
<pre class="has" style="margin-left:0;"><code class="language-prettyprint"><span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>interface</strong></span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">speech</span><span style="color:#ffffff">.</span><span style="color:#98fb98">SpeechRecognizeOptions</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
attribute </span><span style="color:#98fb98">Boolean</span> <span style="color:#f0e68c"><strong>continue</strong></span><span style="color:#ffffff">;</span><span style="color:#ffffff">
attribute </span><span style="color:#98fb98">String</span><span style="color:#ffffff"> engine</span><span style="color:#ffffff">;</span><span style="color:#ffffff">
attribute </span><span style="color:#98fb98">String</span><span style="color:#ffffff"> lang</span><span style="color:#ffffff">;</span><span style="color:#ffffff">
attribute </span><span style="color:#98fb98">Number</span><span style="color:#ffffff"> nbest</span><span style="color:#ffffff">;</span><span style="color:#ffffff">
attribute </span><span style="color:#98fb98">String</span><span style="color:#ffffff"> punctuation</span><span style="color:#ffffff">;</span><span style="color:#ffffff">
attribute </span><span style="color:#98fb98">Number</span><span style="color:#ffffff"> timeout</span><span style="color:#ffffff">;</span><span style="color:#ffffff">
attribute </span><span style="color:#98fb98">Boolean</span><span style="color:#ffffff"> userInterface</span><span style="color:#ffffff">;</span><span style="color:#ffffff">
attribute </span><span style="color:#98fb98">EventHandler</span><span style="color:#ffffff"> onstart</span><span style="color:#ffffff">;</span><span style="color:#ffffff">
attribute </span><span style="color:#98fb98">EventHandler</span><span style="color:#ffffff"> onend</span><span style="color:#ffffff">;</span>
<span style="color:#ffffff">}</span>
</code></span></span></code></pre>
<h2 style="margin-left:.8em;"><span style="color:#f13a0e;"><strong><span style="background-color:#f6f4f2;">说明:</span></strong></span></h2>
<p style="margin-left:0;"><span style="color:#474747;"><span style="background-color:#f6f4f2;">控制语音识别引擎内部参数,在JS中为JSON对象,在启动语音识别时使用。</span></span></p>
<h2 style="margin-left:.8em;"><span style="color:#f13a0e;"><strong><span style="background-color:#f6f4f2;">属性:</span></strong></span></h2>
<ul><li>continue: <em>(Boolean 类型 )</em>语音识别是否采用持续模式 <p style="margin-left:0;"><span style="color:#474747;">设置为true表示语音引擎不会根据语音输入自动结束,识别到文本内容将多次调用successCallback函数返回,如果需要结束语音识别则必须调用stopRecognize接口,默认值为false。</span></p> </li><li>engine: <em>(String 类型 )</em>语音识别引擎标识 <p style="margin-left:0;"><span style="color:#474747;">用于兼容多语音识别引擎的浏览器,使用语音识别厂商的产品名称,如未设置或设置不正确则使用运行环境默认的语音识别引擎。 支持以下语音识别引擎: "baidu"-百度语音识别; "iFly"-讯飞语音识别。</span></p> </li><li>lang: <em>(String 类型 )</em>语音识别引擎的语言 <p style="margin-left:0;"><span style="color:#474747;">用于定义语音识别引擎的语言,其取值需符合W3C的Language codes规范。 目前讯飞语音支持以下语言: "zh-cn"-中文,普通话; "en-us"-英语; "zh-cantonese"-中文,粤语; "zh-henanese"-中文,河南话(百度语音识别不支持此语言)。 默认值为"zh-cn"。</span></p> </li><li>nbest: <em>(Number 类型 )</em>指定识别结果识别包括多候选结果 <p style="margin-left:0;"><span style="color:#474747;">用于指定识别结果识别包括多候选结果。如nbest:3,识别返回3个候选结果,默认值为1。</span></p> </li><li>punctuation: <em>(Boolean 类型 )</em>识别结果中是否包含标点符号 <p style="margin-left:0;"><span style="color:#474747;">true表示识别结果文本中包含标点符号,false表示识别结果文本中不包含标点符号。 默认值为true。</span></p> <h3 style="margin-left:0;">平台支持</h3>
<ul style="margin-left:2em;"><li>Android - ALL (支持)</li><li>iOS - ALL (不支持) : <p style="margin-left:0;"><span style="color:#474747;">百度语音识别不支持标点符号。</span></p> </li></ul></li><li>timeout: <em>(Number 类型 )</em>语音识别超时时间 <p style="margin-left:0;"><span style="color:#474747;">语音识别超时的时间,单位为ms,默认值为1000(即10秒)。 注:百度语音识别不支持此参数。</span></p> </li><li>userInterface: <em>(Boolean 类型 )</em>识别时是否显示用户界面 <p style="margin-left:0;"><span style="color:#474747;">用于指定识别时是否显示用户界面,设置为true表示显示浏览器内置语音识别界面;设置为false表示不显示浏览器内置语音识别界面。默认值为true。</span></p> </li><li>onstart: <em>(EventHandler 类型 )</em>语音识别开始事件(已废弃,使用start事件) <p style="margin-left:0;"><span style="color:#474747;">事件函数,语音识别开始启动,在调用startRecognize方法后触发,与onend事件成对触发。 注:iOS平台未支持</span></p> </li><li>onend: <em>(EventHandler 类型 )</em>语音识别结束事件(已废弃,使用end事件) <p style="margin-left:0;"><span style="color:#474747;">事件函数,语音识别结束,在调用stopRecognize方法后触发,或者在引擎内部自动完成语音识别后触发,与onstart事件成对触发。 注:iOS平台未支持</span></p> </li></ul>
<h1 style="margin-left:0;"><span style="color:#474747;"><span style="background-color:#f6f4f2;"><!--LINK#0_20-->SpeechRecoginzeEvents</span></span></h1>
<p style="margin-left:0;"><span style="color:#474747;"><span style="background-color:#f6f4f2;">语音识别事件类型</span></span></p>
<h2 style="margin-left:.8em;"><span style="color:#f13a0e;"><strong><span style="background-color:#f6f4f2;">说明:</span></strong></span></h2>
<p style="margin-left:0;"><span style="color:#474747;"><span style="background-color:#f6f4f2;">描述语音过程的触发事件列表,可以通过调用plus.sppech.addEventListener方法进行注册监听。</span></span></p>
<h2 style="margin-left:.8em;"><span style="color:#f13a0e;"><strong><span style="background-color:#f6f4f2;">常量:</span></strong></span></h2>
<ul><li>start: <em>(String 类型 )</em>开始语音识别 <p style="margin-left:0;"><span style="color:#474747;">调用plus.speech.startRecognize方法开始语音识别时触发。 无回调函数参数。</span></p> </li><li>volumeChange: <em>(String 类型 )</em>音量变化 <p style="margin-left:0;"><span style="color:#474747;">开始语音识别后,麦克风录制到的语音音量变化时触发。 回调函数参数event={volume:"Number类型,取值范围0-1"}。</span></p> </li><li>recognizing: <em>(String 类型 )</em>临时语音识别结果 <p style="margin-left:0;"><span style="color:#474747;">返回临时语音识别结果时触发。 回调函数参数event={partialResult:"String类型,临时识别结果"}。</span></p> </li><li>recognition: <em>(String 类型 )</em>最终语音识别 <p style="margin-left:0;"><span style="color:#474747;">返回最终语音识别结果。 回调函数参数event={result:"String类型,最佳识别结果",results:"String数组类型,所有候选结果"}。</span></p> </li><li>end: <em>(String 类型 )</em>结束语音识别 <p style="margin-left:0;"><span style="color:#474747;">调用plus.speech.stopRecognize方法结束语音识别或语音识别完成后自动结束时触发。 无回调函数参数。</span></p> </li><li>error: <em>(String 类型 )</em>语音识别错误 <p style="margin-left:0;"><span style="color:#474747;">语音识别发生错误时触发。 回调函数参数event={code:"Number类型,错误编码",message:"String类型,错误描述信息"}。</span></p> </li></ul>
<h1 style="margin-left:0;"><span style="color:#474747;"><span style="background-color:#f6f4f2;"><!--LINK#0_21-->RecognitionEventCallback</span></span></h1>
<p style="margin-left:0;"><span style="color:#474747;"><span style="background-color:#f6f4f2;">语音识别事件回调函数</span></span></p>
<pre class="has" style="margin-left:0;"><code class="language-prettyprint"><span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> onEvent</span><span style="color:#ffffff">(</span><span style="color:#f0e68c"><strong>event</strong></span><span style="color:#ffffff">){</span>
<span style="color:#87ceeb">// Event code</span>
<span style="color:#ffffff">}</span>
</code></span></span></code></pre>
<h2 style="margin-left:.8em;"><span style="color:#f13a0e;"><strong><span style="background-color:#f6f4f2;">说明:</span></strong></span></h2>
<p style="margin-left:0;"><span style="color:#474747;"><span style="background-color:#f6f4f2;">调用plus.speech.addEventListener方法监听语音识别事件的回调函数。</span></span></p>
<h2 style="margin-left:.8em;"><span style="color:#f13a0e;"><strong><span style="background-color:#f6f4f2;">参数:</span></strong></span></h2>
<ul><li>event: <em>( Object ) 可选</em> <p style="margin-left:0;"><span style="color:#474747;">不同事件返回的参数不一样,详情参考SpeechRecoginzeEvents事件说明。</span></p> </li></ul>
<h2 style="margin-left:.8em;"><span style="color:#f13a0e;"><strong><span style="background-color:#f6f4f2;">返回值:</span></strong></span></h2>
<p>void<span style="color:#474747;"><span style="background-color:#f6f4f2;"> : 无</span></span></p>
<h1 style="margin-left:0;"><span style="color:#474747;"><span style="background-color:#f6f4f2;"><!--LINK#0_22-->RecognitionSuccessCallback</span></span></h1>
<p style="margin-left:0;"><span style="color:#474747;"><span style="background-color:#f6f4f2;">语音识别成功回调</span></span></p>
<pre class="has" style="margin-left:0;"><code class="language-prettyprint"><span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> onSuccess</span><span style="color:#ffffff">(</span><span style="color:#ffffff">result</span><span style="color:#ffffff">){</span>
<span style="color:#87ceeb">// Recognition success code</span>
<span style="color:#ffffff">}</span>
</code></span></span></code></pre>
<h2 style="margin-left:.8em;"><span style="color:#f13a0e;"><strong><span style="background-color:#f6f4f2;">说明:</span></strong></span></h2>
<p style="margin-left:0;"><span style="color:#474747;"><span style="background-color:#f6f4f2;">语音识别成功时的回调函数,用于返回语音识别出的文本内容。</span></span></p>
<h2 style="margin-left:.8em;"><span style="color:#f13a0e;"><strong><span style="background-color:#f6f4f2;">参数:</span></strong></span></h2>
<ul><li>result: <em>( String ) 必选 </em>语音识别出的文本内容 <p style="margin-left:0;"></p> </li></ul>
<h2 style="margin-left:.8em;"><span style="color:#f13a0e;"><strong><span style="background-color:#f6f4f2;">返回值:</span></strong></span></h2>
<p>void<span style="color:#474747;"><span style="background-color:#f6f4f2;"> : 无</span></span></p>
<h1 style="margin-left:0;"><span style="color:#474747;"><span style="background-color:#f6f4f2;"><!--LINK#0_23-->RecognitionErrorCallback</span></span></h1>
<p style="margin-left:0;"><span style="color:#474747;"><span style="background-color:#f6f4f2;">语音识别失败回调</span></span></p>
<pre class="has" style="margin-left:0;"><code class="language-prettyprint"><span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> onError</span><span style="color:#ffffff">(</span><span style="color:#ffffff">error</span><span style="color:#ffffff">){</span>
<span style="color:#87ceeb">// Recognition error code</span>
<span style="color:#ffffff">}</span>
</code></span></span></code></pre>
<h2 style="margin-left:.8em;"><span style="color:#f13a0e;"><strong><span style="background-color:#f6f4f2;">说明:</span></strong></span></h2>
<p style="margin-left:0;"><span style="color:#474747;"><span style="background-color:#f6f4f2;">当语音识别失败时的回调函数,用于返回语音识别失败的错误信息。</span></span></p>
<h2 style="margin-left:.8em;"><span style="color:#f13a0e;"><strong><span style="background-color:#f6f4f2;">参数:</span></strong></span></h2>
<ul><li>error: <em>( Exception ) 必选 </em>语音识别失败的错误信息 <p style="margin-left:0;"><span style="color:#474747;">可通过error.code(Number类型)获取错误编码; 可通过error.message(String类型)获取错误描述信息。 详细错误描述信息可参考:http://ask.dcloud.net.cn/article/282。</span></p> </li></ul>
<h2 style="margin-left:.8em;"><span style="color:#f13a0e;"><strong><span style="background-color:#f6f4f2;">返回值:</span></strong></span></h2>
<p>void<span style="color:#474747;"><span style="background-color:#f6f4f2;"> : 无</span></span></p>
</div>
</div>
<div id="treeSkill"></div>
页:
[1]