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