我的目錄中有大約 245 個 .webm 文件。我想將所有這 245 個文件合并到一個名為 output.webm 的文件中。我正在使用 python 的“moviepy”模塊來實現這一點。這是我到目前為止所做的:import osfrom 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_audioclipsdurations = [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'我哪里錯了?
1 回答

千巷貓影
TA貢獻1829條經驗 獲得超7個贊
我將字符串列表傳遞給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')
添加回答
舉報
0/150
提交
取消