Python Pydub 权限被拒绝?

问题描述 投票:0回答:4

当我运行此代码时:

from pydub import AudioSegment
sound = AudioSegment.from_mp3("i.mp3")
sound.export("F:\\bh", format="wav")

弹出 ffmpeg 窗口,我收到此错误:

即使我以管理员权限运行它:

注:
我尝试导出的每个位置都会发生该错误

python-2.7 windows-7
4个回答
5
投票

如果您使用的是 Windows,遇到此问题,并且在安装

simpleaudio
时也遇到问题,您可以尝试安装
pyaudio

如果您使用的是 Anaconda,您可以使用

 安装 
pyaudio

conda install -c anaconda pyaudio

对我来说,Anaconda 上的

simpleaudio
仅适用于 Linux 和 MacOS,不适用于 Windows。


5
投票

请参阅此主题此处。他们建议安装 simpleaudio (

pip install simpleaudio
) 来解决这个问题。这对我有用。


1
投票

我遇到了同样的问题,但使用 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])

0
投票

您也可以选择使用 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)
© www.soinside.com 2019 - 2024. All rights reserved.