我正在尝试通过沉默将mp3文件拆分为多个块并获取
File "C:\Anaconda3\envs\py27\lib\site-packages\pydub\playback.py", line 71, in play
_play_with_ffplay(audio_segment)
File "C:\Anaconda3\envs\py27\lib\site-packages\pydub\playback.py", line 18, in _play_with_ffplay
seg.export(f.name, "wav")
File "C:\Anaconda3\envs\py27\lib\site-packages\pydub\audio_segment.py", line 780, in export
out_f = _fd_or_path_or_tempfile(out_f, 'wb+')
File "C:\Anaconda3\envs\py27\lib\site-packages\pydub\utils.py", line 57, in _fd_or_path_or_tempfile
fd = open(fd, mode=mode)
IOError: [Errno 13] Permission denied: 'd:\\tmp\\tmpo5dfj5.wav'
在我尝试播放时
audio = AudioSegment.from_mp3(lessonFilePath)
chunks = split_on_silence(audio, min_silence_len=2000, silence_thresh=-16)
ordinalAudio = 0
chunk = chunks[ordinalAudio]
play(chunk) # here it is rising
我可以访问该目录,并且可以执行
fd = open(fd, mode=mode)
在我自己的单独脚本中。
还有什么可以检查的?
最佳答案
这个问题与pydub如何管理临时音频文件有关。 Pydub当前存在一个错误,它将多次打开一个临时文件,该错误可在linux上运行,但会导致在Windows上观察到错误(可能是mac os,我没有检查)。一种补救方法是pip install simpleaudio
,一旦安装,它将作为pydub的默认临时文件管理系统。
关于python-2.7 - 尝试在python中播放AudioSegment时权限被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59076024/