gpt4 book ai didi

python - 无法使用moviepy合并多个音频文件

转载 作者:行者123 更新时间:2023-12-03 01:11:36 26 4
gpt4 key购买 nike

我的目录中有大约 245 个 .webm 文件。我想将所有这 245 个文件合并到一个名为 output.webm 的文件中。我正在使用 python 的'moviepy'模块来实现这一点。
这是我到目前为止所做的:

import os
from moviepy.editor import *

audio_folder='path/to/directory'

audio_files = [audio_folder+'/'+img for img in os.listdir(audio_folder) if img.endswith(".webm")]

print(audio_files)
audio = concatenate_audioclips(audio_files)
audio.write_audiofile('output.webm')
执行此操作时出现以下错误:
Traceback (most recent call last):
File "demo.py", line 17, in <module>
audio = concatenate_audioclips(audio_files)
File "C:\Users\abc\AppData\Local\Programs\Python\Python38-32\lib\site-
packages\moviepy\audio\AudioClip.py", line 315, in concatenate_audioclips
durations = [c.duration for c in clips]
File "C:\Users\abc\AppData\Local\Programs\Python\Python38-32\lib\site-
packages\moviepy\audio\AudioClip.py", line 315, in <listcomp>
durations = [c.duration for c in clips]
AttributeError: 'str' object has no attribute 'duration'
我哪里错了?

最佳答案

正如上面 Paul M 所建议的,我将字符串列表传递给 concatenate_audioclips 函数而不是 list of AudioClip Objects .这就是我为解决问题所做的。

audio_folder='path/to/directory'

audio_files = [audio_folder+'/'+img for img in os.listdir(audio_folder) if img.endswith(".webm")]

print(audio_files)

audios = []
for audio in audio_files :
audios.append(AudioFileClip(audio))

audioClips = concatenate_audioclips([audio for audio in audios])
audioClips.write_audiofile('output.webm')

关于python - 无法使用moviepy合并多个音频文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63563606/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com