Python 如何合并多个mp3文件,并在其间保持静音?

Python 如何合并多个mp3文件,并在其间保持静音?,python,glob,pydub,Python,Glob,Pydub,当我尝试使用pydub和glob对一个文件夹中的多个.mp3文件进行合并时,会出现以下错误 从pydub导入音频段 从操作系统导入getcwd 导入glob cwd=(getcwd()).replace(chr(92),“/”) export_path=f'{cwd}/result.mp3' MP3_FILES=glob.glob(路径名=f'{cwd}/*.MP3',recursive=True) 静音=音频段。静音(持续时间=15000) 计数,长度=0,长度(MP3\U文件) 对于n,枚举

当我尝试使用
pydub
glob
对一个文件夹中的多个.mp3文件进行合并时,会出现以下错误

从pydub导入音频段
从操作系统导入getcwd
导入glob
cwd=(getcwd()).replace(chr(92),“/”)
export_path=f'{cwd}/result.mp3'
MP3_FILES=glob.glob(路径名=f'{cwd}/*.MP3',recursive=True)
静音=音频段。静音(持续时间=15000)
计数,长度=0,长度(MP3\U文件)
对于n,枚举中的mp3_文件(mp3_文件):
mp3_file=mp3_file.replace(chr(92),“/”)
计数+=1
如果计数=1:
打印(n,mp3\u文件)
audio1=AudioSegment.from_mp3(mp3_文件)
elif计数==2:
audio2=AudioSegment.from_mp3(mp3_文件)
elif计数==3:
res=音频1+静音+音频2
打印('合并')
计数=0
如果n+1==长度:
res.export(导出路径,格式='mp3')
打印('\n完成!')

预期输出:一个音频文件,原始音频之间保持静音

AUDIO_RESULT: audio1 silence audio2 silence audio3...

回溯:

[mp3 @ 0000021b440ec740] Failed to read frame size: Could not seek to 1026.
C:\Users\Acer\Documents\1 file.mp3: Invalid argument

它说-
无效参数
,这可能是由文件路径中使用的空间引起的

如果使用命令行传递文件/文件夹路径,则路径字符串应在引号中传递(“”)

然而,在Windows操作系统中,有时
C:\
会产生问题,因为一个
\
用于特殊字符。请用双
\\
进行测试,好吗

“C:\\Users\\Acer\\…”

编辑1: 你能试试这个吗-

from pathlib import Path 

cwd = Path.cwd()
MP3_FILES = list(cwd.rglob('*.mp3'))
...
...


请以文本形式发布错误输出@美元。Updated看起来像一个糟糕的MP3-可能是其他格式的错误extension@rep_movsd如果我试着一个接一个地输入mp3会起作用,但是这种想法很难实现,我用
C:/…/
测试它,使用
(cwd()).replace(chr(92),“/”)
,但是我不知道如何像我前面说的那样传递到os.cwd(),如果我使用
sound=AudioSegment.from_mp3(f“{cwd}/file.mp3”)
谢谢。我已经编辑了我的答案。请尝试
EDIT 1
部分好吗?我会将此标记为答案,但是在这个过程中,mp3文件被损坏,再次下载并运行脚本,它似乎工作正常
from pathlib import Path 

cwd = Path.cwd()
MP3_FILES = list(cwd.rglob('*.mp3'))
...
...