我正在开发一个基于 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();
});