概述
这是一个pydub 包的开发错误;中文环境里面的解决方案几乎都是胡说八道,我查看了pydub的代码后,给出如下解决方案,亲测有效。我的环境是 python3.6 pydub 0.23.1
这个问题首先是由于ffmpeg造成的
1. 下载而不是直接安装ffmpeg
下载地址是(http://ffmpeg.org/),这里需要注意的是下载ffmpeg的exe文件,而不是直接下载source code ,更不是使用pip install ffmpeg
2. 下载完成后,将exe文件解压到自定义位置,同时进入其bin子文件查看是否有ffmpeg.exe ffprobe.exe 以及ffplay.exe 在运行过程中需要使用前两者的路径
按照下面方式即可完成正常使用不会报错
测试代码如下:
from pydub import silence, AudioSegment
from pathlib import Path
import os, sys
import matplotlib.pyplot as plt
print (sys.version)
#AudioSegment.ffmpeg = os.getcwd()+"\ffmpeg\bin\ffmpeg.exe"
AudioSegment.converter = r"D:Program Filesffmpeg-20200401-afa5e38-win64-staticbinffmpeg.exe"
AudioSegment.ffprobe = r"D:Program Filesffmpeg-20200401-afa5e38-win64-staticbinffprobe.exe"
#print (AudioSegment.converter)
#print (AudioSegment.ffprobe)
my_file = Path(r"G:DataSet2019PMEmo2019chorus1.mp3")
audio = AudioSegment.from_mp3(my_file) # solves ***[WinError2]*** issue.
给出一张我的代码运行的截图,表明使用正常
------------------------------------------------------------------------------------------------------------------------------------------------------------
如果走到这一步还是报错,那么可能的原因是pycharm的版本以及pydub版本问题,通用的办法是将ffmpeg.exe 以及ffprobe.exe直接拷贝放到这个项目路径下即可
最后
以上就是微笑小丸子为你收集整理的Python AudioSegment winError 2 The system cannot find the file specified(winError2 找不到系统文件)的全部内容,希望文章能够帮你解决Python AudioSegment winError 2 The system cannot find the file specified(winError2 找不到系统文件)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复