python - 无法运行播放通过 cx_Freeze 编译的 OGG 文件的 Pygame 脚本

标签 python python-3.x pygame cx-freeze python-3.3

当我编译以下脚本时:

# play.py

import os, re
import pygame.mixer

pygame.mixer.init(11025)
pygame.mixer.music.load('song.ogg')
pygame.mixer.music.play(-1)

os.system("PAUSE")

使用以下setup.py:

from cx_Freeze import setup, Executable
exe = Executable(
script="play.py",
)

setup(
    executables = [exe]
    )

通过:

python setup.py build

执行play.exe会出现以下错误:

Traceback (most recent call last):
  File "C:\Python33\lib\site-packages\cx_Freeze\initscripts\Console3.py", line 2
7, in <module>
    exec(code, m.__dict__)
  File "play.py", line 7, in <module>
pygame.error: Couldn't open 'song.ogg'

该脚本在编译之前工作正常,是的,我确实将 song.ogg 放入 exe 的目录中。顺便说一句 song.ogg 工作正常,我已经检查过了。有什么想法吗?

附注如果我将其更改为 song.wav 它工作正常,但 WAV 文件太大而无法使用。而且 MP3 也无法正常工作。

最佳答案

通过Process Explorer我发现我需要从 Python33\Lib\复制 libogg.dlllibvorbis.dlllibvorbisfile.dll site-packages\pygame 到我的卡住程序的目录。

关于python - 无法运行播放通过 cx_Freeze 编译的 OGG 文件的 Pygame 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15755921/

相关文章:

python - Django 在 View 中测试 ajax 端点

python - Matplotlib:更新图形后交互式缩放工具中的错误

python - 在不同的文件中加载 pickle 对象 - 属性错误

python - 在所有子目录中运行 nosetests

python - Pygame 中的箭头键移动

python - Ansible权限问题

Python:&= 运算符

python - 退出命令以提取列表的一部分并将其放在同一列表的开头?

python - 根据 0-500 之间的 Int 值计算 2 个 RGB 值之间的颜色

python - 如何在玩家的近战武器和敌人之间创建狭窄的碰撞检测