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);
时间: 2024-10-16 23:47:35

jQuery Text-to-Speech 谷歌在线语音的相关文章

csharp:Google TTS API text to speech

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86

Csharp: speech to text, text to speech in win

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86

容易使用的读取文本播放器 Text to Speech Maker 2.5

FilmConvert Stand Alone 1.216 MacOSXAutodesk.Smoke.v2015.SP1.MacOSX 1DVDAutodesk Smoke 2015提供更快的效能和更平易近人的价格专 为以Mac计算机作业的小型工作室设计,Smoke 2015专业影音特效和剪辑工具现在具备了 3D追踪.新的Timeline FX工作流程.针对搭载OS X Mavericks操作系统的新版Mac Pro新增硬件支持和系统运作的最佳化,并与Final Cut Pro X提供更佳的互通

Kinect 2.0&Speech 11 中文语音控制

Kinect 2.0&Speech 11 中文语音控制相关代码 ? 下载 Speech 11 中文语言包 Microsoft Speech Platform - Runtime Languages (Version 11) ? 查找中文语言的RecognizerInfo private static RecognizerInfo TryGetKinectRecognizer() ????????{ ????????????IEnumerable<RecognizerInfo> reco

在线语音听写

在线语音听写 在线语音听写和离线语音听写基本一样,只要修改一下识别引擎即可.(就可以不用语记了) 离线语音听写 地址:http://blog.csdn.net/q4878802/article/details/47834601 修改识别引擎 // 设置听写引擎 mIat.setParameter(SpeechConstant.ENGINE_TYPE, SpeechConstant.TYPE_CLOUD); 版权声明:本文为博主原创文章,未经博主允许不得转载.所有文章,任何一个技术点,无论是原创还

C# ms speech文字转语音例子

最近突发奇想 想玩玩  文字转语音的东东   谷歌了一下 发现微软有一个TTS 的SDK   查了查相关资料  发现 还真不错  然后就开始玩玩Microsoft Speech SDK的 DEMO了 现在网上最新版好像是Microsoft Speech SDK Version 5.1    先下载下来 下载地址是  http://www.52z.com/soft/22068.html 要先安装第一个SDK 然后安装语言包    只有安装了语言包   语言包是用来支持中文翻读的 然后开始我们的C#

jquery text(),html()方法的区别

首先,html属性中有两个方法,一个有参,一个无参 1. 无参html():取得第一个匹配元素的html内容.这个函数不能用于XML文档.但可以用于XHTML文档,返回的是一个String 例子: html页面代码:<div><p>Hello</p></div> jquery代码:$("div").html(); 结果:Hello 2.有参html(val):设置每一个匹配元素的html内容.这个函数不能用于XML文档.但可以用于XHTM

JQuery text()、html() 以及 val()

获得内容 - text().html() 以及 val() 三个简单实用的用于 DOM 操作的 jQuery 方法: text() - 设置或返回所选元素的文本内容 html() - 设置或返回所选元素的内容(包括 HTML 标记) val() - 设置或返回表单字段的值 <!DOCTYPE html> <html> <head> <script src="/jquery/jquery-1.11.1.min.js"></script

【学亮IT手记】jQuery text()/html()回调函数实例

1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <script src="https://cdn.bootcss.com/jquery/1.10.2/jquery.min.js"></script> 6 <script type="text/javascript"> 7 $(functi