一个应用程序正在使用嵌套在某些HTMLAudioElement中的JavaScript播放音频剪辑,如下所示,
var s = new Audio('/sounds/s.wav');
s.play();
HTMLAudioElement文档:
问题是,每次用户采取行动时,剪辑都需要播放。但是,如果前面的音频剪辑仍然在播放,那么下一个剪辑将不会播放(被延迟或完全跳过)。
那么,有没有办法切断一个音频剪辑,中途,当它在播放?
有点像s.stop()
更新
也许这还是个重复的问题..。
对于不同的操作,有多个音频剪辑,所以如果从引用的重复问题中实现sound.pause();和so
问题如标题所述。
在我抽取音频信号后,每n个指针取一次,它轮流以n倍的速度加速音频剪辑。我希望抽取的剪辑和原始剪辑在时间上具有相同的长度。
这是我的代码,分析和抽取钢琴.wav
[piano,fs]=wavread('piano.wav'); % loads piano
play=piano(:,1); % Renames the file as "play"
t = linspace(0,time,length(play)); % Time vector
x = play;
y = decimate(x,2);
stem(x(1:30))
目前,我正在进行一个项目,要求我挑选音频剪辑,并根据他们的FFT结果(即谱图)进行比较。我所有的音频剪辑都是0.200 s长,但当我通过转换处理它们时,它们不再是相同的长度。用于转换的代码使用numpy和librosa库:
def extractFFT(audioArr):
fourierArr = []
fourierComplex = []
for x in range(len(audioArr)):
y, sr = lb.load(audioArr[x])
fourier = np.fft.fft(y)
fourie