不过,我正在try 使用pygame.Mixer生成正弦波音频,运行以下代码:

import pygame
pygame.init()
pygame.mixer.init()

出现以下错误:

RuntimeWarning: use mixer: dlopen(/Users/kids/皮查姆Projects/PySynth/venv/lib/python3.9/site-packages/pygame/mixer.cpython-39-darwin.so, 2): Library not loaded: @loader_path/libmp3lame.0.dylib
  Referenced from: /Users/kids/皮查姆Projects/PySynth/venv/lib/python3.9/site-packages/pygame/.dylibs/libsndfile.1.0.34.dylib
  Reason: no suitable image found.  Did find:
    /Users/kids/皮查姆Projects/PySynth/venv/lib/python3.9/site-packages/pygame/.dylibs/libmp3lame.0.dylib: cannot load 'libmp3lame.0.dylib' (load command 0x80000034 is unknown)
    /Users/kids/皮查姆Projects/PySynth/venv/lib/python3.9/site-packages/pygame/.dylibs/libmp3lame.0.dylib: cannot load 'libmp3lame.0.dylib' (load command 0x80000034 is unknown)
(ImportError: dlopen(/Users/kids/皮查姆Projects/PySynth/venv/lib/python3.9/site-packages/pygame/mixer.cpython-39-darwin.so, 2): Library not loaded: @loader_path/libmp3lame.0.dylib
  Referenced from: /Users/kids/皮查姆Projects/PySynth/venv/lib/python3.9/site-packages/pygame/.dylibs/libsndfile.1.0.34.dylib
  Reason: no suitable image found.  Did find:
    /Users/kids/皮查姆Projects/PySynth/venv/lib/python3.9/site-packages/pygame/.dylibs/libmp3lame.0.dylib: cannot load 'libmp3lame.0.dylib' (load command 0x80000034 is unknown)
    /Users/kids/皮查姆Projects/PySynth/venv/lib/python3.9/site-packages/pygame/.dylibs/libmp3lame.0.dylib: cannot load 'libmp3lame.0.dylib' (load command 0x80000034 is unknown))
  pygame.mixer.get_sdl_mixer_version()
Traceback (most recent call last):
  File "/Users/kids/皮查姆Projects/PySynth/main.py", line 11, in <module>
    pygame.mixer.get_sdl_mixer_version()
  File "/Users/kids/皮查姆Projects/PySynth/venv/lib/python3.9/site-packages/pygame/__init__.py", line 70, in __getattr__
    raise NotImplementedError(missing_msg)
NotImplementedError: mixer module not available (ImportError: dlopen(/Users/kids/皮查姆Projects/PySynth/venv/lib/python3.9/site-packages/pygame/mixer.cpython-39-darwin.so, 2): Library not loaded: @loader_path/libmp3lame.0.dylib
  Referenced from: /Users/kids/皮查姆Projects/PySynth/venv/lib/python3.9/site-packages/pygame/.dylibs/libsndfile.1.0.34.dylib
  Reason: no suitable image found.  Did find:
    /Users/kids/皮查姆Projects/PySynth/venv/lib/python3.9/site-packages/pygame/.dylibs/libmp3lame.0.dylib: cannot load 'libmp3lame.0.dylib' (load command 0x80000034 is unknown)
    /Users/kids/皮查姆Projects/PySynth/venv/lib/python3.9/site-packages/pygame/.dylibs/libmp3lame.0.dylib: cannot load 'libmp3lame.0.dylib' (load command 0x80000034 is unknown))

在我的venv中,我判断了libmp3lame.0.dylib是否存在,它确实存在.我怀疑这可能是我的Electron 游戏安装出了问题,所以我重新安装了库.没什么好运气的.作为参考,我使用:

  • MacOS 10.14(Mojave)
  • Python3.9.6
  • PyGame 2.4.0
  • 金星
  • 皮查姆

推荐答案

这是pyGame构建配置中的一个错误.

幸运的是,它被固定在了pyGame的现代社区分支pyGame-ce(pyGame社区版)中.

PYGAME-CE完全向后兼容PYGAME,并且有一些额外的功能(这个错误已经修复).你甚至还可以导入为PYGAME.

try pip uninstall pygame,然后try pip install pygame-ce --pre(需要使用pre标志,因为错误修复目前只在开发版本中才有)

Python相关问答推荐

Pandas .类型错误:只能将字符串(而不是int)连接到字符串

日程优化问题不知道更好的方式来呈现解决方案- Python / Gekko

带有计数值的Pandas数据帧

仅使用2种 colored颜色 创建热图

脚注在Python中使用regex导致错误匹配

如何对行使用分段/部分.diff()或.pct_change()?

将numpy矩阵映射到字符串矩阵

强制venv在bin而不是收件箱文件夹中创建虚拟环境

Python会扔掉未使用的表情吗?

将整组数组拆分为最小值与最大值之和的子数组

如何从具有不同len的列表字典中创建摘要表?

scikit-learn导入无法导入名称METRIC_MAPPING64'

发生异常:TclMessage命令名称无效.!listbox"

大小为M的第N位_计数(或人口计数)的公式

在Python中管理打开对话框

在pandas中使用group_by,但有条件

Asyncio:如何从子进程中读取stdout?

如何并行化/加速并行numba代码?

将pandas导出到CSV数据,但在此之前,将日期按最小到最大排序

Matplotlib中的字体权重