define(function(require,exports,module){
var Sound= function(){};
var timerIds = '';
Sound.prototype.playNumbersSound=function(path,mobile){
var ids = timerIds.split(',');
for(var i = 0;i < ids.length; i++){
if(ids[i]){
clearTimeout(ids[i]);
}
}
timerIds = '';
var numbers = mobile.split('');
try {
if(window.softWeb){
for(var i = 0;i < numbers.length; i++){
var keyNumber = numbers[i];
var id = setTimeout("window.softWeb.playSound('" + keyNumber +"');",500 * i);
timerIds += id + ',';
}
}else if(window.parent.softWeb){
for(var i = 0;i < numbers.length; i++){
var keyNumber = numbers[i];
var id = setTimeout("window.parent.softWeb.playSound('" + keyNumber +"');",500 * i);
timerIds += id + ',';
}
}else if(window.parent.parent.softWeb){
for(var i = 0;i < numbers.length; i++){
var keyNumber = numbers[i];
var id = setTimeout("window.parent.parent.softWeb.playSound('" + keyNumber +"');",500 * i);
timerIds += id + ',';
}
}else{
for(var i = 0;i < numbers.length; i++){
var keyNumber = numbers[i];
var id = setTimeout("window.createSoundElement('"+ path + keyNumber +"');",500 * i);
timerIds += id + ',';
}
}
} catch (ex) {
try{
for(var i = 0;i < numbers.length; i++){
var keyNumber = numbers[i];
var id = setTimeout("window.createSoundElement('"+ path + keyNumber +"');",500 * i);
timerIds += id + ',';
}
}catch(e){
}
}
};
window.createSoundElement=function(soundFile){
var number = soundFile;
if (navigator.userAgent.toLowerCase().match(/trident\/([\d.]+)/) != null) {
soundFile = soundFile + ".mp3";
} else {
soundFile = soundFile + ".wav";
}
var soundElem, bodyElem, isHTML5;
isHTML5 = true;
try {
if (typeof document.createElement("audio").play=="undefined") isHTML5 = false;
} catch (ex) {
isHTML5 = false;
}
bodyElem = document.getElementsByTagName("body")[0];
if (!bodyElem) bodyElem = document.getElementsByTagName("html")[0];
soundElem = document.getElementById("numberSound" + number);
if (soundElem){
if(isHTML5){
soundElem.play();
} else if(navigator.userAgent.toLowerCase().indexOf("msie")>-1){
soundElem.setAttribute("src", soundFile);
}else{
try {
soundElem.Play();
} catch (ex) {
soundElem.object.Play();
}
}
return;
};
if (isHTML5) {
soundElem = document.createElement("audio");
soundElem.setAttribute("id", "numberSound" + number);
soundElem.setAttribute("src", soundFile);
bodyElem.appendChild(soundElem);
soundElem.play();
} else if(navigator.userAgent.toLowerCase().indexOf("msie")>-1){
soundElem = document.createElement("bgsound");
soundElem.setAttribute("id", "numberSound" + number);
soundElem.setAttribute("loop", 1);
soundElem.setAttribute("src", soundFile);
bodyElem.appendChild(soundElem);
} else {
var paramElem;
soundElem = document.createElement("object");
soundElem.setAttribute("id", "numberSound" + number);
soundElem.setAttribute("type", "audio/wav");
soundElem.setAttribute("style", "display:none;");
soundElem.setAttribute("data", soundFile);
paramElem = document.createElement("param");
paramElem.setAttribute("name", "autostart");
paramElem.setAttribute("value", "false");
soundElem.appendChild(paramElem);
bodyElem.appendChild(soundElem);
try {
soundElem.Play();
} catch (ex) {
soundElem.object.Play();
}
}
};
module.exports=new Sound();
});
这是一段js代码,可能是用来控制语音的
是这样的 我们有个系统界面有语音实时播报功能,这个系统可以在普通浏览器中登录,也可以在专用的客户端中登录,在专用客户端中登录可以实时播报,但是在浏览器中就没有了,想知道是不是这段代码控制的,因为要是有可能的话我想请人制作个浏览器语音实时播报插件,现在这个专用客户端实在太卡了厂家还一直不优化...
万分感谢,另外我不是技术,就想知道有没有这个可能性
从代码上看,应该是支持在浏览器中播放的,而且还考虑到了对不支持 HTML5 的浏览器降级处理。
不过这段代码只是写了播放的功能,也说不准在调用这段代码的地方有其他控制。
可以找个前端开发人员现场对代码调试下。