十年java大咖给网站增加交互音效

因为是音效吗?没听到你都会说小编胡扯的,对吧。
普通话太普通,切勿吐槽,就听一下演唱装B会咯:链接:https://pan.baidu.com/s/1bo9XVHX 密码:d9lp
一、js增加音效
Loud links这个WEB音效插件可以实现按钮与图片等元素的触发交互,比如鼠标 HOVER 后出现响声,或者鼠标点击后出现响声。本插件非常轻量级,官方介绍只有1.5KB大小,使用也相当简单。
官网:https://loudlinks.rocks/
这里写图片描述

使用方法:
1、引入<script src="js/loudlinks.min.js"></script>
2、添加class

<button class="main-button button-example loud-link-hover" data-src="123" type="button" name="button">Hover over me</button>
<button class="main-button button-example loud-link-click" data-src="123" type="button" name="button">Click me</button>
<img src="https://loudlinks.rocks/images/cattoiletpaper.gif" class="loud-link-hover" data-src="123" alt="an awesome cat rolling toilet some paper">

3、添加音乐文件
文件路径sounds/mp3/123.mp3

二、百度翻译语音

var obj = $('<audio src="http://fanyi.baidu.com/gettts?lan='+to+'&text='+content+'&spd=5&source=web" autoplay="true"></audio>');
                    $("body").append(obj);

三、Audio实现(女生国语)

var JA_TSS_AUDIO = new Audio()
            JA_TSS_AUDIO.src = 'http://tts.baidu.com/text2audio?lan=zh&pid=101&ie=UTF-8&spd=2&text='+encodeURIComponent(talk);
            JA_TSS_AUDIO.play();

四、Java粤语语音合成系统 Vekou(男声粤语)

String content = "敌军还有30秒到达战场!";
        ProcessCenter pc = new DefaultStreamProcess(true);
        // 建立一个语音引擎,第二个参数设置是否转换为粤语口语发音
        Engine engine = new SpeechEngine(pc, true);
        // 任何一个String作为你想要它发音的句子
        String sentences = content;
        // 第一种方法:直接要它发音
        engine.getPronounces(sentences);

Jar包需翻墙下载。

Vekou的诞生离不开Ekho(余音)的支持,Vekou的语音库以及初始词典全部来自于它,还有基于中科院的imdict智能词典所采用的智能中文分词程序,Vekou的底层使用到中文分词。
你可以很简单的使用它,初次尝试的时候你可以建立一个如下的Test.java文件来测试:

import java.io.File;
import java.io.IOException;
import java.util.Iterator;
import java.util.List;

import org.lib.speech.engine.Engine;
import org.lib.speech.engine.SpeechEngine;
import org.lib.speech.process.DefaultStreamProcess;
import org.lib.speech.process.ProcessCenter;

public class Test {
        public static void main(String[] args) {

                // 建造一个流处理器,参数设置是否重新读取字典文件
                ProcessCenter pc = new DefaultStreamProcess(true);

                // 建立一个语音引擎,第二个参数设置是否转换为粤语口语发音
                Engine engine = new SpeechEngine(pc, true);

                // 任何一个String作为你想要它发音的句子
                String sentences = "你可以在这里尝试任何一个句子,看看它是如何发音的。";

                // 第一种方法:直接要它发音
                engine.getPronounces(sentences);

                // 第二种方法:句子在一个txt文档中,你要它把txt中的内容读出来,第二个参数设置是否将文档内容输出到控制台显示
                try {
                        engine.getPronounces(new File("C:/a.txt"), false);
                } catch (IOException e) {
                        e.printStackTrace();
                }

                // 第三种方法:把发音保存在一个.au的声音文件中,目前只支持保存到这种文件,当然你也可以自己扩展
                try {
                        engine.getPronouncesFile(sentences, new File(
                                        "C:/a.au"));
                } catch (IOException e) {
                        e.printStackTrace();
                }

                // 另外,如果你想获得初始的发音素材,可以这样显示到控制台
                List<Object[]> list = engine.getPronounceElements(sentences);
                Iterator<Object[]> iter = list.iterator();
                while (iter.hasNext()) {
                        Object[] obj = iter.next();
                        if (obj[0] instanceof File) {
                                for (int i = 0; i < obj.length; i++) {
                                        File file = (File) obj[i];
                                        System.out.print(file.getName() + " ");
                                }
                        } else {
                                for (int i = 0; i < obj.length; i++) {
                                        System.out.print(obj[i] + " ");
                                }
                        }
                        System.out.println();
                }
        }
}

project及lib下载请移步到以下网站:
http://code.google.com/p/vekou/

顾及一些童鞋不能翻墙,小编整理好了需要的资料:链接:https://pan.baidu.com/s/1qXNeE7a 密码:e6w0

按以下步骤可使用java合成粤语声音:
1、新建一个java poject,编码为UTF-8
2、导入jar包
这里写图片描述
3、编写main方法

String content = "敌军还有30秒到达战场!";
        ProcessCenter pc = new DefaultStreamProcess(true);
        // 建立一个语音引擎,第二个参数设置是否转换为粤语口语发音
        Engine engine = new SpeechEngine(pc, true);
        // 任何一个String作为你想要它发音的句子
        String sentences = content;
        // 第一种方法:直接要它发音
        engine.getPronounces(sentences);

4、在工作空间的根目录新建两位文件夹properties和data
properties放如下:
这里写图片描述
data放如下:
这里写图片描述

v7文件夹就是一个个wav声音文件:
这里写图片描述

全部声音文件就130多M

5、ctrl+F11运行main方法

还有很多方法实现语音的。。。。欢迎补充。。。
需要所有源代码,可加QQ490647751获取。。。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值