jQuery Text-to-Speech 谷歌在线语音
<!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);
jQuery Text-to-Speech 谷歌在线语音的更多相关文章
- 必应语音API(Bing text to speech API)
前言 Link : Microsoft Speech API overview 通过这个链接,大致了解Bing speech API的语音识别和语音合成两部分, 这次是需要用到TTS,所以就直接看TT ...
- xe5 android tts(Text To Speech)
xe5 android tts(Text To Speech) TTS是Text To Speech的缩写,即“从文本到语音”,是人机对话的一部分,让机器能够说话. 以下代码实现xe5 开发的文本转 ...
- delphi xe5 android tts(Text To Speech)
TTS是Text To Speech的缩写,即“从文本到语音”,是人机对话的一部分,让机器能够说话. 以下代码实现xe5 开发的文本转语音的方法 和访问蓝牙一样,这里用javaclass的接口实现 接 ...
- xe5 android tts(Text To Speech) [转]
TTS是Text To Speech的缩写,即“从文本到语音”,是人机对话的一部分,让机器能够说话. 以下代码实现xe5 开发的文本转语音的方法 和访问蓝牙一样,这里用javaclass的接口实现 接 ...
- python解析谷歌在线表格链接,转化为数组形式,图片转化为链接
在线表格已成为趋势,传统的表格导入导出已经不能满足现在企业的发展. 必须支持在线表格的导入,只需要输入在线表格的链接,就能将数据读取出来. 而且相比相传表格,能够将图片信息一块读取.在线表格中的图片也 ...
- 第二篇:TTS(Text To Speech)语音合成
TTS(Text To Speech)语音合成: 百度AI语音合成SDK文档--python SDK: https://ai.baidu.com/docs#/TTS-Online-Python-SDK ...
- jquery text选择器 语法
jquery text选择器 语法 作用::text 选择器选取类型为 text 的 <input> 元素.大理石平台检定规程 语法:$(":text") jquery ...
- C# ms speech文字转语音例子
最近突发奇想 想玩玩 文字转语音的东东 谷歌了一下 发现微软有一个TTS 的SDK 查了查相关资料 发现 还真不错 然后就开始玩玩Microsoft Speech SDK的 DEMO了 ...
- csharp:Google TTS API text to speech
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
随机推荐
- python3入门之函数
相信大家学习过其他语言,懂得函数的作用.简单的说函数最好的作用就是可以使程序变得懒惰.python作为后起之秀,当然也会拥有函数这个有用的东西: 创建函数 使用def语句即可创建函数,如创建一个用来生 ...
- PyQt5(3)——信号和槽初探
信号和槽是QT的核心机制(当信号发射时,链接的槽函数会自动执行) 在pyqt5中信号和槽通过 QObject.signal.connect()链接. QObject类或子类(QWidget)派生的类都 ...
- miniui中表单验证规则总结
页面链接: http://www.miniui.com/demo/#src=form/rules.html 页面效果图: 页面代码: <!DOCTYPE html PUBLIC "-/ ...
- 箭头函数中的this和普通函数中的this对比
ES6中新增了箭头函数这种语法,箭头函数以其简洁性和方便获取this的特性.下面来总结一下他们之间的区别: 普通函数下的this: 在普通函数中的this总是代表它的直接调用者,在默认情况下,this ...
- CSS z-index在ie67中不起作用
在chrome浏览器中可以看到这样的效果: 但是在ie67中看到的是: 这是z-index在ie浏览器中的一个兼容性问题: 一般来说z-index越大,层级越高,就会越在顶层显示,但是在ie67浏览器 ...
- 4.1、支持向量机(SVM)
1.二分类问题 在以前的博客中,我们介绍了用于处理二分类问题的Logistic Regression算法和用于处理多分类问题的Softmax Regression算法,典型的二分类问题,如图: 对于上 ...
- Gsteramer 环境配置
安装命令: sudo add-apt-repository universe sudo add-apt-repository multiverse sudo apt-get update sudo a ...
- Docker安装Odoo实现快速迁移(四)
一. 安装postgres数据库 root@ubuntu-:~# docker run -d -e POSTGRES_USER=odoo -e POSTGRES_PASSWORD=odoo --nam ...
- ZOJ - 3946-Highway Project(最短路变形+优先队列优化)
Edward, the emperor of the Marjar Empire, wants to build some bidirectional highways so that he can ...
- 洛谷 P5249 [LnOI2019]加特林轮盘赌 题解【概率期望】【DP】
很有意思的题目. 题目背景 加特林轮盘赌是一个养生游戏. 题目描述 与俄罗斯轮盘赌等手枪的赌博不同的是,加特林轮盘赌的赌具是加特林. 加特林轮盘赌的规则很简单:在加特林的部分弹夹中填充子弹.游戏的参加 ...