在我的系统中,我必须列出一个文件夹中的所有wav文件,然后我必须将该文件绑定为一个文件。我有绑定两个文件的代码,但我有 8 个或更多声音文件,我必须绑定这些文件。有人能帮我吗?堆栈溢出解决方案仅合并两个音频文件。我必须从文件夹中合并很多音频文件。我不知道有多少音频文件会进入该文件夹。
此代码是绑定两个文件:
print(glob.glob('upload/updated_audios/*.wav'))
file_data = glob.glob('upload/convertedAudio/*.wav')
outfile = "upload/output_files/output.wav"
data = []
for infile in file_data:
w = wave.open(infile, 'rb')
data.append([w.getparams(), w.readframes(w.getnframes())])
w.close()
output = wave.open(outfile, 'wb')
output.setparams(data[0][0])
output.writeframes(data[0][1])
output.writeframes(data[1][1])
output.close()
file_data = glob.glob('upload/convertedAudio/*.wav')
outfile = "upload/output_files/output.wav"
with wave.open(outfile, 'wb') as wav_out:
for wav_path in file_data:
with wave.open(wav_path, 'rb') as wav_in:
if not wav_out.getnframes():
wav_out.setparams(wav_in.getparams())
wav_out.writeframes(wav_in.readframes(wav_in.getnframes()))
这段代码正在工作,但我无法有序合并。 这个答案已经在堆栈溢出问题中了。 但是这个问题是不同的,所以这个答案最适合这个问题。
注意:顺序表示升序和降序。