Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Html5音频-当前时间重置导致比特声音_Javascript_Html_Audio - Fatal编程技术网

Javascript Html5音频-当前时间重置导致比特声音

Javascript Html5音频-当前时间重置导致比特声音,javascript,html,audio,Javascript,Html,Audio,[编辑问题以澄清用户的观点。我下面的评论已被删除并包含在此处。] 我有一个长的声音文件(mp3),110秒。在这个文件的开头,音乐是快乐的,但到了结尾,它变得越来越邪恶注意:音频将始终以正常速度播放。 我有一个变量'var张力;'其值介于0和1之间,如0.35。它衡量的是游戏中有多恐怖。张力值=0.0表示安全,张力值=0.5表示有点麻烦,张力值=1.0表示粪便撞击风扇。但所有0.0到1.0之间的十进制值都可以实现。这取决于你离危险有多近,或者有人在追你 以下是在程序开始时在内存中创建的全局音频元

[编辑问题以澄清用户的观点。我下面的评论已被删除并包含在此处。]

我有一个长的声音文件(mp3),110秒。在这个文件的开头,音乐是快乐的,但到了结尾,它变得越来越邪恶注意:音频将始终以正常速度播放。

我有一个变量'var张力;'其值介于0和1之间,如0.35。它衡量的是游戏中有多恐怖。张力值=0.0表示安全,张力值=0.5表示有点麻烦,张力值=1.0表示粪便撞击风扇。但所有0.0到1.0之间的十进制值都可以实现。这取决于你离危险有多近,或者有人在追你

以下是在程序开始时在内存中创建的全局音频元素:

var g_TensionSound = new Audio();
g_TensionSound.src = "mysoundfile.mp3";
我一直在等待mp3文件完全加载

每秒钟我都会使用计时器事件调用以下代码位:

g_TensionSound.currentTime = 5.0 + 100 * tension;
if(g_TensionSound.paused) g_TensionSound.play();
例如,第一次触发计时器事件时,张力=0;,因此,它在音乐文件中播放友好的声音(即5秒)。然后,下一次触发计时器事件时,玩家已接近某个故障,并且张力已上升到张力=0.25;因此,这次将播放文件中30秒(5+张力*100)标记处的音乐片段


不幸的是,这会产生非常微小的结果,在切换到新的currentTime时会有轻微的延迟有人知道这件事吗,或者如何解决它吗?

我可以问一下这件事的意义吗?我想我只是不知道什么是紧张感,以及为什么需要将它应用于音频播放。张力是否指正在播放的音频的速度?您是否能够提供更多的代码和/或示例(比如JSFIDLE)?啊,好吧,我认为“紧张”是一些官方音频术语。但是一旦你提到了游戏的恐怖性,那就更有意义了。我看看能不能弄明白什么我想我又糊涂了。所以你不是想改变音频播放的速度,对吧?您似乎试图在音频中锁定一个特定的时间。如果您正在运行
g_TensionSound.currentTime=5.0+100*张力
每秒一次,并且
张力
没有改变,然后音频会被重置为
5.0+100*张力