1. JS用soundManager播放声音文件
1.1 引入js
soundmanager2-nodebug-jsmin.js
1.2 脚本写入
soundManager.setup({
url: '/app/wip/moveout/sound/swf', //swf文件夹的位置
onready: function() {
soundManager.createSound({
id: 'msg',
autoLoad: true,
autoPlay: false,
url: '/app/wip/moveout/sound/mp3/success.mp3' //mp3文件的位置
});
}
});
1.3 在合适的地方调用
$(document).ready(function() {
$('#play').click(function() {
soundManager.play('msg'); //点击按钮可播放
});
});
2. 使用HTML5语音合成Speech Synthesis API
2.1 关于SpeechSynthesisUtterance
SpeechSynthesisUtterance对象,主要用来构建语音合成实例,例如上面代码中的实例对象u。我们可以直接在构建的时候就把要读的文字内容写进去
var u = new SpeechSynthesisUtterance();
2.1.1 SpeechSynthesisUtterance属性介绍
- text – 要合成的文字内容,字符串。
- lang – 使用的语言,字符串, 例如:“zh-cn”
- voiceURI – 指定希望使用的声音和服务,字符串。
- volume – 声音的音量,区间范围是0到1,默认是1。
- rate – 语速,数值,默认值是1,范围是0.1到10,表示语速的倍数,例如2表示正常语速的两倍。
- pitch – 表示说话的音高,数值,范围从0(最小)到2(最大)。默认值为1。
2.1.2 SpeechSynthesisUtterance方法介绍
- onstart – 语音合成开始时候的回调。
- onpause – 语音合成暂停时候的回调。
- onresume – 语音合成重新开始时候的回调。
- onend – 语音合成结束时候的回调。
2.2 关于speechSynthesis
- speak() – 只能接收SpeechSynthesisUtterance作为唯一的参数,作用是读合成的话语。
- stop() – 立即终止合成过程。
- pause() – 暂停合成过程。
- resume() – 重新开始合成过程。
- getVoices – 此方法不接受任何参数,用来返回浏览器支持的语音包列表,是个数组。
2.3 方法示例
function speakChinese(text) {
try{
var synth = window.speechSynthesis;
var u = new SpeechSynthesisUtterance();
u.lang = 'zh-CN';
u.rate = 1;
function speak(textToSpeak) {
u.text = textToSpeak;
synth.speak(u)
}
speak(text)
}catch (e) {
// alert("该浏览器无法使用语音播报功能!")
}
}
// 方法调用
function myFunction() {
speakChinese('你好啊!');
}