【问题标题】:Permission denied when trying to play AudioSegment in python尝试在 python 中播放 AudioSegment 时权限被拒绝
【发布时间】:2020-03-23 08:28:50
【问题描述】:

我正在尝试通过静音和获取将 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)

在我自己的单独脚本中。

还有什么可以检查的?

【问题讨论】:

    标签: python-2.7 audio permissions mp3 audiosegment


    【解决方案1】:

    这个问题与 pydub 如何管理临时音频文件有关。 Pydub 目前有一个错误,它会多次打开一个临时文件,这在 linux 上有效,但会导致在 windows 上观察到错误(可能还有 mac os,我没有检查过)。一种补救措施是pip install simpleaudio,一旦安装,它将作为 pydub 的默认临时文件管理系统。

    【讨论】:

      猜你喜欢
      • 2015-12-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-10
      • 1970-01-01
      • 2017-03-27
      相关资源
      最近更新 更多