如何修复“pygame.mixer.music.load()”和“加载libmpg123-0.dll失败”

时间:2021-01-08 22:41:11

标签: python windows pygame windows-10

我们正在尝试在我们的代码中运行 pygame 的 music.load() 方法。 我们通过 Windows 命令行 [CMD] 运行我们的文件。 我们不断收到此错误,任何事情都有帮助:)

有用信息:

  • Windows 10
  • python3.9
  • 以下代码不代表完整文件

代码:

import pygame
from pygame import mixer
from tkinter import * # used in other parts of our code


def play ():
    # Initializing the pygame music feature
    pygame.init()
    mixer.init()

    global stopped
    stopped = False

    play = playlist_box.get(ACTIVE)
    mixer.music.load(play)
    mixer.music.play(loops = 0)

错误:

<块引用>
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Program >Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.496.0_x64__qbz5n2kfra8p0\lib\tkinter\__init__.py", line 1884, in __call__
return self.func(*args)
File "C:\ProgramData\Wized\venv\GUI.py", line 95, in play
mixer.music.load(play)
pygame.error: Failed loading libmpg123-0.dll: The specified module could not be found. 

1 个答案:

答案 0 :(得分:0)

我今天遇到了类似的问题,但设法解决了。我滚动浏览了几页 google 结果,但只有少数结果专门用于这个主题,我认为这很奇怪,直到我意识到它们都来自过去几周。这让我相信这个问题不一定与我的代码有关,而是最近 pygame 更新中的一个错误。似乎开发人员改变了一些破坏混合器的东西,因为我尝试恢复到旧版本的 pygame 并且它工作得非常好。无论如何,也许这是 TMI,只是想我会分享我的过程。

TL;DR: 在最近的 pygame 更新中似乎发生了一些变化,破坏了 pygame 混合器。使用以下步骤恢复到模块的先前版本似乎是一种功能性的临时解决方法,因为它们可以解决所有问题。

  1. pip uninstall pygame
  2. pip install pygame==1.9.6(我目前使用的是 1.9.6;我不知道其他版本是否有效)

PB