首页 > 代码库 > 语音控制的tab选项卡
语音控制的tab选项卡
ladies and 乡亲们,程序猿同志们,周末仍然坚守工作岗位,或者学习不辍的童鞋们,福音来了。
语音识别高不高端、难不难?
今天给大家推荐一个简单易用的js实现的语音识别框架annyang,然后一个案例示范使用。
在线案例,下载收藏。
annyang是一个能够实现语音识别的js类库,小巧易用(只2k),兼容中文。接下来我们看看怎么使用。
首先导入该annyang库,能够使用CDN的方式,也能够下载来使用。
<!--下载到本地使用--> <script src=http://www.mamicode.com/"js/annyang.min.js" type="text/javascript" charset="utf-8"></script>>然后我们就能够在js里使用该类库了,開始之前我们须要推断annyang对象是否存在。// 首先推断 annyang对象是否存在 if (annyang) { // 语音识别命令推断 } else{ // 错误提示信息 }annyang通过设置命令、语音识别匹配命令的方式的进行工作,详细的使用代码例如以下。// 首先推断 annyang对象是否存在 if (annyang) { // 语音识别命令推断 // 定义命令 var commands = { ‘go‘: function() { window.location.href=http://www.mamicode.com/"http://blog.csdn.net/whqet/";>annyang的基本使用就这样,我们来看看今天的这个tab,详细的实现步骤例如以下。html
<ul class="tabs"> <li class="active" rel="tab1">新闻</li> <li rel="tab2">通知</li> <li rel="tab3">公告</li> <li rel="tab4">备注</li> </ul> <div class="tab_container"> <div id="tab1" class="tab_content"> <h2>新闻</h2> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec ac metus augue.</p> </div> <!-- #tab1 --> <div id="tab2" class="tab_content"> <h2>通知</h2> <p>Nunc dui velit, scelerisque eu placerat volutpat, dapibus eu nisi. Vivamus eleifend vestibulum odio non vulputate.</p> </div> <!-- #tab2 --> <div id="tab3" class="tab_content"> <h2>公告</h2> <p>Nulla eleifend felis vitae velit tristique imperdiet. Etiam nec imperdiet elit. Pellentesque sem lorem, scelerisque sed facilisis sed, vestibulum sit amet eros.</p> </div> <!-- #tab3 --> <div id="tab4" class="tab_content"> <h2>备注</h2> <p>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.</p> </div> <!-- #tab4 --> </div> <!-- .tab_container -->cssul.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里查看语音的识别情况,有时候普通话不标准也会出问题,呵呵,我女儿今年四半岁,看见我在语音控制也跃跃欲试,然后“通知”说成“同子”,然后就非常急躁,当然成熟的语音识别方案应该也兼容模糊音,浏览器的语音识别还有非常长的路要走。感谢大家的留言和宝贵意见,有好的解决方式第一时间告诉大家。----------------------------------------------------------
前端开发whqet,关注web前端开发,分享相关资源,欢迎点赞,欢迎拍砖。
---------------------------------------------------------------------------------------------------------
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。