代码之家  ›  专栏  ›  技术社区  ›  Tegh Singh

Pygame音乐播放器只播放一次音频,然后抛出错误

  •  1
  • Tegh Singh  · 技术社区  · 2 年前

    from pydub import AudioSegment
    from pygame import mixer
    import urllib.request
    from time import sleep
    
    mixer.init()
    urllib.request.urlretrieve("http://www.freemusicloops.co.uk/download.aspx?did=266", "firstfile.wav")
    audio1 = AudioSegment.from_wav("firstfile.wav")
    
    mixer.music.load("firstfile.wav")
    mixer.music.play()
    
    

    PermissionError: [Errno 13] Permission denied: 'firstfile.wav'
    

    如何修复此错误并多次播放同一音频,而不必删除它并再次运行代码?

    1 回复  |  直到 2 年前
        1
  •  2
  •   Nick S.    2 年前

    正如在评论中所讨论的,如果您一次又一次地从顶部运行程序,那么我看到的两种解决方案要么是先加载文件,然后将其播放到程序内的一个内部循环(例如,游戏循环),要么通过调用

    mixer.music.unload('filename')
    

    其中“filename”是您之前加载的文件。