1

我有 6 个声音文件(1.wav 2.wav 等),每次打开网页时都必须听到其中 3 个不同的声音文件。数字是随机选择的。我尝试了多个“嵌入”,但只产生了最后一个选择的声音。我也尝试过修改 bgsound 属性的 javascript 例程,但是,我一次无法产生多个声音。声音需要在页面打开时自动播放,或者可以通过单击按钮或链接触发,但是,三种声音只能单击一次。还有另一种方法可以做到这一点吗?非常欢迎提出建议。

4

8 回答 8

6

一个简单的 Flash 会比其他任何东西都做得更好。但是请注意,除非您为 Intranet 应用程序开发页面并且该功能是用户特别要求的,否则它很可能会违反 Web 的最佳可用性实践。大多数用户认为产生声音的页面非常分散注意力,如果在页面加载时产生声音,很可能无法将其关闭。如果你想在你的页面中嵌入一些声音,你可以允许用户明确地打开它。

于 2008-09-17T11:28:42.230 回答
2

如果我想在网页中添加声音,我会使用 Flash,你可以嵌入一个没有宽度或高度的 Flash 文档,这样它就会不可见,但仍然会播放噪音。

于 2008-09-17T11:25:03.127 回答
2

查看Sound Manager 2一个可用于播放声音的隐形 Flash 电影。它允许您加载和播放多种声音。

为了完成您希望完成的工作,我会将 wav 文件重新编码为 mp3(以便它们下载更快并且声音管理器可以播放它们)。然后使用 javascript 获取声音管理器来创建声音并以随机顺序播放它们。您可以收听每个声音的 onfinish 事件以开始播放下一个声音。

于 2008-10-23T20:50:29.513 回答
1

我有一个好主意:不要

我讨厌在没有我告诉他们的情况下播放声音的网站。我使用多标签浏览器和多任务操作系统,而你无法控制我的电脑,所以不要以为你可以播放声音而不会干扰我正在做的其他事情。

于 2008-09-17T11:25:14.407 回答
1

如果您不反对使用 JavaScript 框架播放声音,则 scriptaculous 提供了一个用于播放声音的 API。

http://github.com/madrobby/scriptaculous/wikis/sound

于 2008-09-17T11:44:16.577 回答
0

浏览器会将页面加载拆分为多个项目,因此它可能会使用多个线程一次加载所有声音。我认为你想要完成的事情是不可能的。

于 2008-09-17T11:25:23.733 回答
0

我知道这有点过分,但组合的数量并不过分。如果您将 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"   

那应该让它工作。

注意到许多人反对声音,根据您使用的播放技术,它可能/可能不适用于所有人,但这可能是我们应该让浏览器强制执行的功能,因为有些人喜欢能够听到声音(令人震惊,但是是真的 )。

于 2008-09-17T11:37:05.203 回答
0

添加声音 - HTML 课程 HTML 音乐/媒体代码 - 声音 http://html-lesson.blogspot.com/2008/06/music-media-code-sound.html

于 2008-10-23T20:39:11.860 回答