<!DOCTYPE html>
<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>jQuery Text-to-Speech 谷歌在线语音</title>
<script type='text/javascript' src='jquery-1.9.1.min.js'></script>
<script type="text/javascript">
function html5_audio(){
var a = document.createElement('audio');
return !!(a.canPlayType && a.canPlayType('audio/mpeg;').replace(/no/, ''));
} var play_html5_audio = false;
if(html5_audio()) play_html5_audio = true; function play_sound(url){
if(play_html5_audio){
var snd = new Audio(url);
snd.load();
snd.play();
}else{
$("#sound").remove();
var sound = $("<embed id='sound' type='audio/mpeg' />");
sound.attr('src', url);
sound.attr('loop', false);
sound.attr('hidden', true);
sound.attr('autostart', true);
$('body').append(sound);
}
}
function readme(txt){
play_sound("http://translate.google.com/translate_tts?ie=UTF-8&q="+encodeURIComponent(txt)+"&tl=zh-cn&total=1&idx=0prev=input"); //英文 en //中文
}
readme('hello world');
$(function(){
$('#btnread').click(function(){
readme($('#inp').val());
});
});
</script>
</head> <body>
<input type="text" id="inp"  value="涂聚文"/> <input type="button" id="btnread" value="Klick me"/>
</body> </html>

http://code.google.com/p/jqtts/source/checkout

/*!
jQuery Text-to-Speech plugin
--------------------------------------------
http://code.google.com/p/jqtts/ Copyright (c) 2010, Kevin Hoang Le. All rights reserved.
Code provided under the MIT License:
http://www.opensource.org/licenses/mit-license.html v0.1
*/ (function($) {
$.fn.extend({
jtts: function(options) {
var defaults = {
lang: 'en',
msPerWord: 900
}; var options = $.extend(defaults, options);
//passed-in
var sentences = [];
var lang;
var msPerWord;
var elem;
//internal
var plugin;
var ttsUrl = 'http://translate.google.com/translate_tts';
var inProgress = false;
var currentPlaying = 0;
var total = 0;
var isIE;
var jPlayer = null; var talkNonIE = function() {
var url = ttsUrl + '?tl=' + lang + '&q=' + sentences[currentPlaying++];
jPlayer.jPlayer('setFile', url).jPlayer('play').jPlayer('onSoundComplete', onSoundComplete);
}; var talkIE = function() {
if (currentPlaying < total) {
var re = /\w+/g;
var words = sentences[currentPlaying].match(re); var url = ttsUrl + '?tl=' + lang + '&q=' + sentences[currentPlaying++];
setTimeout(talkIE, words.length * msPerWord); if (jPlayer != null) {
jPlayer.remove();
} jPlayer = $('<embed>', {src: url, hidden: true}).appendTo($(elem));
} else {
inProgress = false;
plugin.trigger('onComplete', []);
}
}; var onSoundComplete = function() {
if (currentPlaying < total) {
talkNonIE();
} else {
inProgress = false;
plugin.trigger('onComplete', []);
}
}; return this.each(function() {
plugin = $(this);
elem = $(options.elem); if ($.browser.msie) {
isIE = true;
} else {
isIE = false;
jPlayer = $(elem);
jPlayer.jPlayer(options.jPlayer);
} lang = options.lang;
msPerWord = options.msPerWord;
}).bind('playing', function(e, lines) {
currentPlaying = 0;
sentences = lines;
total = sentences.length;
if (isIE) {
talkIE();
} else {
talkNonIE();
}
}).bind('pause', function() {
}).bind('stop', function() {
}).bind('resume', function() {
});
},
play: function(sentences) {
return this.trigger('playing', [sentences]);
},
pause: function() {
return this.trigger('pause');
},
abort: function() {
return this.trigger('abort');
},
resume: function() {
return this.trigger('resume');
}
});
})(jQuery);

最新文章

  1. 用gulp构建你的前端项目
  2. 《深入理解Spark:核心思想与源码分析》(前言及第1章)
  3. POJ 2096 Collecting Bugs
  4. 用命令测试安装好的OpenStack环境
  5. Java Socket常见异常处理 和 网络编程需要注意的问题
  6. linux下奇怪的“重名”文件
  7. J2EE开发实战基础系列一 HelloWorld【转】
  8. laravel扩展Debugbar
  9. Qt的Graphics-View框架和OpenGL结合详解
  10. 中文格式python 打印json格式的数据中文显示问题
  11. 【Django】django 的request和response(转)
  12. 转:【Java集合源码剖析】TreeMap源码剖析
  13. Tabhost最纯净的实现方式
  14. python接口自动化(十四)--session关联接口(详解)
  15. Azure系列2.1.3 —— BlobEncryptionPolicy
  16. Kafka Offset相关命令总结
  17. canves绘制北京地铁线路图,包括线路绘制,优先路线,单路径选择。
  18. 基于nopCommerce的开发框架(附源码)
  19. 【转】UTF16和UTF8什么区别?
  20. tomcat应用org.apache.catalina.LifecycleException: Failed to stop component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]]异常的根本原因

热门文章

  1. 生产者消费者模式-Java实现
  2. 阿里java开发规范学习(附P3C IDEA插件 帮助规范的养成)
  3. 利用COOKIE保存历史浏览商品的一个简单思路
  4. jquery 实现动画效果(各种方法)
  5. 自己写的第一个Schema文件
  6. 搭建maven环境——nexus
  7. Xshell和Xftp登陆WSL
  8. I2C裸机驱动程序设计
  9. mysql 5.7 的 /etc/my.cnf
  10. CSAPP阅读笔记-存储器层次结构-第六章-P400-P462