我有 6 个声音文件(1.wav 2.wav 等),每次打开网页时都必须听到其中 3 个不同的声音文件。数字是随机选择的。我尝试了多个“嵌入”,但只产生了最后一个选择的声音。我也尝试过修改 bgsound 属性的 javascript 例程,但是,我一次无法产生多个声音。声音需要在页面打开时自动播放,或者可以通过单击按钮或链接触发,但是,三种声音只能单击一次。还有另一种方法可以做到这一点吗?非常欢迎提出建议。
8 回答
一个简单的 Flash 会比其他任何东西都做得更好。但是请注意,除非您为 Intranet 应用程序开发页面并且该功能是用户特别要求的,否则它很可能会违反 Web 的最佳可用性实践。大多数用户认为产生声音的页面非常分散注意力,如果在页面加载时产生声音,很可能无法将其关闭。如果你想在你的页面中嵌入一些声音,你可以允许用户明确地打开它。
如果我想在网页中添加声音,我会使用 Flash,你可以嵌入一个没有宽度或高度的 Flash 文档,这样它就会不可见,但仍然会播放噪音。
查看Sound Manager 2一个可用于播放声音的隐形 Flash 电影。它允许您加载和播放多种声音。
为了完成您希望完成的工作,我会将 wav 文件重新编码为 mp3(以便它们下载更快并且声音管理器可以播放它们)。然后使用 javascript 获取声音管理器来创建声音并以随机顺序播放它们。您可以收听每个声音的 onfinish 事件以开始播放下一个声音。
我有一个好主意:不要!
我讨厌在没有我告诉他们的情况下播放声音的网站。我使用多标签浏览器和多任务操作系统,而你无法控制我的电脑,所以不要以为你可以播放声音而不会干扰我正在做的其他事情。
如果您不反对使用 JavaScript 框架播放声音,则 scriptaculous 提供了一个用于播放声音的 API。
浏览器会将页面加载拆分为多个项目,因此它可能会使用多个线程一次加载所有声音。我认为你想要完成的事情是不可能的。
我知道这有点过分,但组合的数量并不过分。如果您将 wav 文件预先混合成一系列文件,然后将它们命名如下
1_2_3, 1_2_3, 1_2_5, 1_2_6
1_3_4, 1_3_5, 1_3_6
1_4_5, 1_4_6
2_3_4, 2_3_5, 2_3_6,
2_4_5, 2_4_6,
2_5_6
3_4_5, 3_4_6,
3_5_6,
4_5_6
(幸好没有太多的组合)
然后只要你这样做:
$n = [ randomnumber , randomnumber , randomnumber ];
$n = sort $n;
file = "$n[0]_$n[1]_$n[2].wav"
那应该让它工作。
注意到许多人反对声音,根据您使用的播放技术,它可能/可能不适用于所有人,但这可能是我们应该让浏览器强制执行的功能,因为有些人喜欢能够听到声音(令人震惊,但是是真的 )。
添加声音 - HTML 课程 HTML 音乐/媒体代码 - 声音 http://html-lesson.blogspot.com/2008/06/music-media-code-sound.html