我正在编写一个dhtml应用程序,该应用程序创建系统的交互式仿真。用于模拟的数据是从另一个工具生成的,并且已经有大量的旧数据。
模拟中的某些步骤要求我们播放音频的“浊音”片段。我一直找不到在多个浏览器上完成此操作的简便方法。
Soundmanager2几乎可以满足我的需要,但它只能播放mp3文件,并且旧数据也可能包含一些.wav文件。
有没有其他图书馆可能会对您有所帮助?
我正在编写一个dhtml应用程序,该应用程序创建系统的交互式仿真。用于模拟的数据是从另一个工具生成的,并且已经有大量的旧数据。
模拟中的某些步骤要求我们播放音频的“浊音”片段。我一直找不到在多个浏览器上完成此操作的简便方法。
Soundmanager2几乎可以满足我的需要,但它只能播放mp3文件,并且旧数据也可能包含一些.wav文件。
有没有其他图书馆可能会对您有所帮助?
Answers:
您将必须包含Real Audio或QuickTime之类的插件来处理.wav文件,但这应该可以工作...
//======================================================================
var soundEmbed = null;
//======================================================================
function soundPlay(which)
{
if (!soundEmbed)
{
soundEmbed = document.createElement("embed");
soundEmbed.setAttribute("src", "/snd/"+which+".wav");
soundEmbed.setAttribute("hidden", true);
soundEmbed.setAttribute("autostart", true);
}
else
{
document.body.removeChild(soundEmbed);
soundEmbed.removed = true;
soundEmbed = null;
soundEmbed = document.createElement("embed");
soundEmbed.setAttribute("src", "/snd/"+which+".wav");
soundEmbed.setAttribute("hidden", true);
soundEmbed.setAttribute("autostart", true);
}
soundEmbed.removed = false;
document.body.appendChild(soundEmbed);
}
//======================================================================
dacracots的代码是基本的dom,但是编写时可能没有经过深思熟虑?当然,您首先要检查早期嵌入的存在,然后保存重复的嵌入创建行。
var soundEmbed = null;
//=====================================================================
function soundPlay(which)
{
if (soundEmbed)
document.body.removeChild(soundEmbed);
soundEmbed = document.createElement("embed");
soundEmbed.setAttribute("src", "/snd/"+which+".wav");
soundEmbed.setAttribute("hidden", true);
soundEmbed.setAttribute("autostart", true);
document.body.appendChild(soundEmbed);
}
在寻找某种类似情况的解决方案时,遇到了这里的想法。不幸的是我的浏览器Mozilla / 5.0(X11; U; Linux i686; zh-CN; rv:1.9.0.15)Gecko / 2009102814 Ubuntu / 8.04(hardy)Firefox / 3.0.15在尝试此操作时死了。
安装最新更新后,Firefox仍然崩溃,Opera仍然存在。
我认为,最简单,最方便的方法是使用小型Flash剪辑播放声音。我很欣赏这不是JavaScript解决方案,但它是实现目标的最简单方法
前一个类似问题的一些额外链接:
您可以使用HTML5<audio>
标签。
<audio>
标签在IE8-,Android 2.2-,iOS Safari 3.2-或Opera Mini中不起作用
<audio controls>
<source src="horse.ogg" type="audio/ogg">
<source src="horse.mp3" type="audio/mpeg">
Your browser does not support the audio element.
</audio>
有关更多详细信息,请参见http://www.w3schools.com/html/html5_audio.asp。
如果您使用的是Mootools,则可以使用MooSound插件。
有一个比使用插件更简单的解决方案。IE具有它自己的bgsound属性,还有另一种方法可以使它适用于所有其他浏览器。在这里查看我的教程= http://www.andy-howard.com/how-to-play-sounds-cross-browser-includes-ie/index.html