在手机网站或者PC网站的资讯页面,想要有一个对文字进行语音播报功能。在网上找了很多资料,大部分都是正对于手机APP的,比如百度语音。这些都是给手机app(android、ios)提供sdk包,然后在调用对应的接口即可。而现在需要的是在网页上实现对文字进行语音播报功能,大致也是调用百度的语言功能。请看如下实现步骤。

第一步: 下载JQuery文件,并导入到html文件中

第二步: html文件布局实现

第三步: jspeech插件实现1. 创建jspeech文件,然后根据jquery插件的基本格式把基本框架写好

2. 设置默认配置信息var defaults = {//通过点击链接播报,还是直接播报"jspeech_a":true,//链接按钮的宽度"jspeech_a_width":"16px",//链接按钮的高度"jspeech_a_height":"13px",//链接按钮的背景图片"jspeech_a_png":"url(./image/icon.png) no-repeat",//直接播报内容"jspeech_content":"测试"};

3. 设置点击链接播报方式//如果是通过点击链接播报//获得文本内容var content = $(this).text();//生成链接var speechClick = "";$(this).append(speechClick);//设置链接样式$(this).find(".jspeech_a").css({width:options.jspeech_a_width,height:options.jspeech_a_height,"display":"inline-block","background":options.jspeech_a_png});$(this).find(".jspeech_a").click(function(){//捕获点击事件var src = 'http://tts.baidu.com/text2audio?lan=zh&ie=UTF-8&text=' + content;if($(this).find(".jspeech_iframe").length > 0){$(this).find(".jspeech_iframe").attr("src",src);}else{var iframe = "";$(this).append(iframe);}});

4. 设置直接播报方式var src = 'http://tts.baidu.com/text2audio?lan=zh&ie=UTF-8&text=' + options.jspeech_content;if($(this).find(".jspeech_iframe").length > 0){$(this).find(".jspeech_iframe").attr("src",src);}else{var iframe = "";$(this).append(iframe);}

5. 说下实现原理其实就是通过调用百度翻译的语音播放功能,然后对应的将文字传进去就可以了,然后百度翻译的语言播报功能接口就会生成video标签自动播放。所以我只需要传递文字,然后把返回来的video放到iframe里即可。

6. 整体源码(function($){$.fn.jspeech = function(options){var defaults = {//通过点击链接播报,还是直接播报"jspeech_a":true,//链接按钮的宽度"jspeech_a_width":"16px",//链接按钮的高度"jspeech_a_height":"13px",//链接按钮的背景图片"jspeech_a_png":"url(./image/icon.png) no-repeat",//直接播报内容"jspeech_content":"测试"};var options = $.extend(defaults, options);this.each(function(){if(options.jspeech_a){//如果是通过点击链接播报//获得文本内容var content = $(this).text();//生成链接var speechClick = "";$(this).append(speechClick);//设置链接样式$(this).find(".jspeech_a").css({width:options.jspeech_a_width,height:options.jspeech_a_height,"display":"inline-block","background":options.jspeech_a_png});$(this).find(".jspeech_a").click(function(){//捕获点击事件var src = 'http://tts.baidu.com/text2audio?lan=zh&ie=UTF-8&text=' + content;if($(this).find(".jspeech_iframe").length > 0){$(this).find(".jspeech_iframe").attr("src",src);}else{var iframe = "";$(this).append(iframe);}});}else{var src = 'http://tts.baidu.com/text2audio?lan=zh&ie=UTF-8&text=' + options.jspeech_content;if($(this).find(".jspeech_iframe").length > 0){$(this).find(".jspeech_iframe").attr("src",src);}else{var iframe = "";$(this).append(iframe);}}});};})(jQuery);

第四步: 调用插件1. 点击链接播报

2. 效果

3. 直接播报

4. 效果

举报/反馈

html进行语音播报,JQuery插件制作:[2]语音播报jspeech相关推荐

  1. jquery插件制作

    jquery插件丰富,很多都是很好用的,最近学习了一下如何制作jquery插件,发现jquery插件制作其实很简单,这里介绍一下. jquery插件的基本格式: (function($){$.fn.t ...

  2. JQuery插件制作具有动态效果的网页

    JQuery插件 制作具有动态效果的网页   前  言 JQuery 今天我给大家介绍一个运用JQuery插件制作的动态网页--iphone 5C 宣传页面.这个网页中运用到了fullpage.js和 ...

  3. jquery插件制作 -- 3.表单验证

    今天的内容是关于表单验证插件的制作.表单验证控件实现的主要功能是,当表单提交的时候检查必填项是否正确填写,同时根据需要验证输入信息是否符合规范. 先下页面代码: <!DOCTYPE html P ...

  4. 自己编写的仿京东移动端的省市联动选择JQuery插件

    概述 什么是插件,插件就是即插即用叫插件,很少的配置,很少的代码就可以用都项目里,之所以做这个插件,是因为做了一个省市区的联动,其他项目如果要用怎么办,难道在ctrl+c,ctrl+v?那样做太low ...

  5. html制作表格保存为txt文件,可将HTML表格导出为Excel|csv|txt文件的jQuery插件

    TableExport是一款可以将HTML表格导出为Excel xlsx格式.xls格式,以及csv和txt文件的jQuery插件.TableExport插件使用简单,默认使用Bootstrap的CS ...

  6. 用jQuery插件jVectorMap制作中国省份区域图

    jVectorMap是一个优秀的.兼容性强的jQuery地图插件.它可以工作在包括IE6在内的各款浏览器中,矢量图输出,除官方提供各国地图数据外,用户可以使用数据转换程序定制地图数据. 这里基于jVe ...

  7. 基于jQuery日历插件制作日历

    这篇文章主要介绍了基于jQuery日历插件制作日历的相关资料,需要的朋友可以参考下 来看下最终效果图吧: 是长得丑了一点,不要吐槽我-.- 首先来说说这个日历主要的制作逻辑吧: ·一个月份最多有31天 ...

  8. 基于Jquery插件Uploadify实现实时显示进度条上传图片

    网址:http://www.jb51.net/article/83811.htm 这篇文章主要介绍了基于Jquery插件Uploadify实现实时显示进度条上传图片的相关资料,感兴趣的小伙伴们可以参考 ...

  9. 学习jQuery之旅--使用炫酷的jQuery插件

    前两篇文章中,介绍了jQuery中强大的Selectors (选择器)以及开发中比较常用的方法的使用.今天和大家一起体验一下jQuery另一个吸引人的地方--强大炫酷实用的jQuery插件. 做网站的 ...

最新文章

  1. SAP PI - 单栈与双栈
  2. 浅谈如何搭建知识体系
  3. 【华为云技术分享】序列特征的处理方法之二:基于卷积神经网络方法
  4. diss范式:明星AI公司秋招被爆大规模毁约;CEO戴文渊:责任在我有错认罚
  5. JavaWeb学习 (二十六)————监听器(Listener)学习(二)
  6. java jtextfield 输入_【java】JTextField与JComboBox结合动态匹配输入信息
  7. wps怎么做文档分享
  8. 工业智能网关BL110应用之四十三:网口采集欧姆龙PLC的配置
  9. raid0,1,3,5,6,10,50的物理磁盘容量和逻辑容量的关系。
  10. 计算机课app开发,毕业设计(论文)-基于Android的《计算机网络基础》课程App的设计与开发.doc...
  11. N多的红烧茄子做法!
  12. English--名词从句
  13. 深度学习(七)梯度弥散(消散)和梯度爆炸
  14. 考计算机专业要理科好吗,大学想念计算机系是不是该高中读理科?
  15. OnMeasure()
  16. web前端设计图书清单
  17. 超声波测距模块(1602LCD显示)—基于51单片机
  18. U811.1接口EAI系列之四--委外订单生成--VB语言
  19. 决不放弃的意志之力让公司起死回生
  20. 关于输入法的弹出与关闭

热门文章

  1. vue—实现组织架构图(vue-org-tree插件)——技能提升
  2. 一个Roguelike类型H5游戏的服务器开发——成就系统
  3. create volume
  4. 普通话考试易错字、鼻音、HF发声
  5. 新浪A股、港股、美股、股票期权行情接口
  6. keybindings.json
  7. 无法更改edge浏览器启动页(主页)\新标签页
  8. Visual Studio 6/2005/2008/2010/2012/2013 各版本编译器 下载
  9. 到微软下载VS2008
  10. 计算机应用基础学习网站,《计算机应用基础》学习手册.pdf