当我运行此代码时:
from pydub import AudioSegment
sound = AudioSegment.from_mp3("i.mp3")
sound.export("F:\\bh", format="wav")
注:
我尝试导出的每个位置都会发生该错误
如果您使用的是 Windows,遇到此问题,并且在安装
simpleaudio
时也遇到问题,您可以尝试安装 pyaudio
。
如果您使用的是 Anaconda,您可以使用
安装
pyaudio
conda install -c anaconda pyaudio
对我来说,Anaconda 上的
simpleaudio
仅适用于 Linux 和 MacOS,不适用于 Windows。
请参阅此主题此处。他们建议安装 simpleaudio (
pip install simpleaudio
) 来解决这个问题。这对我有用。
我遇到了同样的问题,但使用 this thread 中的 GillHawk 解决方案进行了修复(与 Jondiepdoop 提供的链接相同)。我在playback.py文件的_play_with_ffplay函数中添加了
f.close()
:
def _play_with_ffplay(seg):
with NamedTemporaryFile("w+b", suffix=".wav") as f:
f.close() # close the file stream
seg.export(f.name, "wav")
subprocess.call([PLAYER, "-nodisp", "-autoexit", "-hide_banner", f.name])
您也可以选择使用 os.remove() 进行删除
import os
def _play_with_ffplay(seg):
try:
with NamedTemporaryFile("w+b", suffix=".wav", delete=False) as f:
seg.export(f.name, "wav")
subprocess.call([PLAYER, "-nodisp", "-autoexit", "-hide_banner", f.name])
finally:
os.remove(f.name)