【发布时间】:2015-08-02 15:21:13
【问题描述】:
我正在开发一个基于 Javascript 的应用程序,在该应用程序中,每当用户单击按钮时,我都会使用鼓掌声。用户单击按钮后必须立即播放声音(应该没有延迟)。我使用 audacity 录制了声音并将其保存为 wav 格式。最初在拍手声之前有一个延迟,当我点击按钮时我可以清楚地听到声音,但有点晚了,因为我已经提到过声音之前有一个延迟(你可以在下图中看到它)。
我对声音之前的延迟不感兴趣,因为我希望用户在按下按钮后立即听到声音。于是我大胆的去掉了拍手前的滞后,如下图。
声音再次以wav格式保存,在大胆和winamp播放时我可以清楚地听到声音。但是,当我在浏览器中打开应用程序时单击应用程序中的按钮时,拍手声变得非常轻微,好像我根本听不到一样。我真的很困惑,因为我不确定问题是否与文件格式或 javascript 有关。有没有什么方法可以在使用javascript单击按钮后立即清晰地播放声音?
[更新部分]
真的很抱歉。我的代码中有一个错误。我将音频的初始时间设置为 0.05,这导致了问题。
tapSound.currentTime=0.05;
tapSound.play();
现在我可以清楚地听到声音,但每次点击按钮时声音仍然有延迟。
这是我的 javascript 代码
var tapSound=new Audio();
tapSound.src="sounds/tap.wav";
tapSound.preload='auto';
$(".refresh, .backspace, .home, .pause, .about, .backbutton").on('click',function () {
tapSound.currentTime=0.01;
tapSound.play();
});
【问题讨论】:
-
你能展示你试过的代码吗?
-
我不知道答案,但你可以用javascript播放声音。
-
@dman2306 这确实是一个有数千行的大型脚本。基本上我所做的是
var clap=new Audio(); clap.src="sounds/clap.wav";和我使用的点击功能clap.play();
标签: javascript html audio file-format audacity