博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
语音控制的tab选项卡
阅读量:5879 次
发布时间:2019-06-19

本文共 3883 字,大约阅读时间需要 12 分钟。

前端开发whqet,csdn,王海庆,whqet,前端开发专家

ladies and 乡亲们,程序猿同志们,周末仍然坚守工作岗位,或者学习不辍的童鞋们,福音来了。

语音识别高不高端、难不难?

今天给大家推荐一个简单易用的js实现的语音识别框架,然后一个案例示范使用。

 

,。

annyang是一个能够实现语音识别的js类库,小巧易用(只2k),兼容中文。接下来我们看看怎么使用。

首先导入该annyang库,能够使用CDN的方式,也能够下载来使用。

然后我们就能够在js里使用该类库了,開始之前我们须要推断annyang对象是否存在。

// 首先推断 annyang对象是否存在  if (annyang) {  	// 语音识别命令推断  	  }  else{  	// 错误提示信息  	  }
annyang通过设置命令、语音识别匹配命令的方式的进行工作,详细的使用代码例如以下。

// 首先推断 annyang对象是否存在if (annyang) {    // 语音识别命令推断        // 定义命令  var commands = {    'go': function() {      window.location.href="http://blog.csdn.net/whqet/";    },  };    //设置设别语言  annyang.setLanguage('zh-cn');  //打开调试  //annyang.debug('on');  // 加入命令  annyang.addCommands(commands);  // 启动语音识别,也能够绑定在事件上  annyang.start();}else{	// 错误提示信息}
annyang的基本使用就这样,我们来看看今天的这个tab,详细的实现步骤例如以下。

html

  • 新闻
  • 通知
  • 公告
  • 备注

新闻

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec ac metus augue.

通知

Nunc dui velit, scelerisque eu placerat volutpat, dapibus eu nisi. Vivamus eleifend vestibulum odio non vulputate.

公告

Nulla eleifend felis vitae velit tristique imperdiet. Etiam nec imperdiet elit. Pellentesque sem lorem, scelerisque sed facilisis sed, vestibulum sit amet eros.

备注

Integer ultrices lacus sit amet lorem viverra consequat. Vivamus lacinia interdum sapien non faucibus. Maecenas bibendum, lectus at ultrices viverra, elit magna egestas magna, a adipiscing mauris justo nec eros.

css

ul.tabs {	margin: 0;	padding: 0;	float: left;	list-style: none;	height: 32px;	border-bottom: 1px solid #333;	width: 100%;}ul.tabs li {	float: left;	margin: 0;	cursor: pointer;	padding: 0px 21px;	height: 31px;	line-height: 31px;	border-top: 1px solid #333;	border-left: 1px solid #333;	border-bottom: 1px solid #333;	background-color: #666;	color: #ccc;	overflow: hidden;	position: relative;}.tab_last {	border-right: 1px solid #333;}ul.tabs li:hover {	background-color: #ccc;	color: #333;}ul.tabs li.active {	background-color: #fff;	color: #333;	border-bottom: 1px solid #fff;	display: block;}.tab_container {	border: 1px solid #333;	border-top: none;	clear: both;	float: left;	width: 100%;	background: #fff;	overflow: auto;}.tab_content {	padding: 20px;}
js,这里用到了jquery,annyang

$(document).ready(function(){	//普通tab,单击控制	$(".tab_content").hide();	$(".tab_content:first").show();	$('ul.tabs li').last().addClass("tab_last");		$("ul.tabs li").click(function() {				$(".tab_content").hide();		$(".tab_content").eq($(this).index()).show();			$("ul.tabs li").removeClass("active");		$(this).addClass("active");		});		// 语音控制,首先推断 annyang对象是否存在。	if (annyang) {   		// 定义语音控制命令里使用的函数,切换tab		var showTab=function(i){			$(".tab_content").hide();			$(".tab_content").eq(i).show();						$("ul.tabs li").removeClass("active");			$("ul.tabs li").eq(i).addClass("active");		};				// 定义命令		var commands = {		  '新闻':		function(){showTab(0)},		  '通知':		function(){showTab(1)},		  '公告':		function(){showTab(2)},		  '备注':		function(){showTab(3)},		};				// 设置语言,默觉得en		annyang.setLanguage('zh-cn');		// 可选设置,调试功能打开,建议开发阶段打开		annyang.debug();				// 加入命令		annyang.addCommands(commands);					// 開始侦听annyang,也能够绑定在事件上		annyang.start();	}})

That's it. 敬请留言,说说你的意见和建议。
另外,
该案例主要使用“Web Speech API”,眼下比較悲催的是该api唯独webkit内核支持,兼容全部浏览器的方案正在研究中,兼容性表格例如以下。
大家也能够在chrome开发人员工具的Console里查看语音的识别情况,有时候普通话不标准也会出问题,呵呵,我女儿今年四半岁,看见我在语音控制也跃跃欲试,然后“通知”说成“同子”,然后就非常急躁,当然成熟的语音识别方案应该也兼容模糊音,浏览器的语音识别还有非常长的路要走。
感谢大家的留言和宝贵意见,有好的解决方式第一时间告诉大家。

----------------------------------------------------------

,关注web前端开发,分享相关资源,欢迎点赞,欢迎拍砖。
---------------------------------------------------------------------------------------------------------

你可能感兴趣的文章
ubuntu Unable to locate package sysv-rc-conf
查看>>
笔记:认识.NET平台
查看>>
cocos2d中CCAnimation的使用(cocos2d 1.0以上版本)
查看>>
【吉光片羽】短信验证
查看>>
MacBook如何用Parallels Desktop安装windows7/8
查看>>
gitlab 完整部署实例
查看>>
GNS关于IPS&ASA&PIX&Junos的配置
查看>>
七天学会ASP.NET MVC (四)——用户授权认证问题
查看>>
upgrade to iOS7,how to remove stroyboard?
查看>>
影响企业信息化成败的几点因素
查看>>
SCCM 2016 配置管理系列(Part8)
查看>>
zabbix监控部署
查看>>
struts中的xwork源码下载地址
查看>>
Android硬件抽象层(HAL)深入剖析(二)
查看>>
CDays–4 习题一至四及相关内容解析。
查看>>
L3.十一.匿名函数和map方法
查看>>
java面向对象高级分层实例_实体类
查看>>
android aapt 用法 -- ApkReader
查看>>
[翻译]用 Puppet 搭建易管理的服务器基础架构(3)
查看>>
Android -- AudioPlayer
查看>>