Python 绑定到 gorilla-audio 库
项目描述
Windows 构建 |
Mac OS X 构建 |
|---|---|
皮拉
pyrilla 是一个独立的静态链接绑定到 gorilla-audio库 - “尝试制作一个免费、直接、跨平台、高级软件混音器,支持静态和流声音的播放”。与原版一样,它旨在用于视频游戏开发。
pyrilla 的目标是提供一个 python 音频包,可以通过单个 pip install pyrilla命令安装而无需任何外部依赖。它是用 cython 构建的,其 API 的灵感来自于伟大但无人管理的 培根游戏引擎的一部分。
它可以在 OS X、Windows 和 Linux 上正常运行。官方支持的 Python 版本有 py27、py33、py34、py35。
PyPI 和支持的系统上的 pyrilla
Pyrilla 是 Gorilla Audio C 库的包装器,在安装期间静态链接。为方便开发人员,它作为 Windows、OS X 和 Linux 的二进制轮子在 PyPI 上分发。其广泛构建的管道针对不同的系统风格(32/64 位)和不同的 Python 版本。在受支持的系统上,可以使用 pip 轻松安装:
pip install pyrilla
提供的发行版的最新列表可 在 PyPI 上的 pyrilla 项目页面上找到。根据目标平台,底层 Gorilla Audio 库的编译设置略有不同:
目标平台 |
可用的 Python 版本 |
音频后端 |
拱 |
|---|---|---|---|
视窗 |
py27、py33、py34、py35 |
XAudio2 |
Win32/Win64 |
Mac OS X |
py27、py33、py34、py35 |
开放式 |
英特尔/x86_64 |
Linux |
py27、py33、py34、py35 |
开放式 |
x86_64/i686(32位) |
如果您确实需要其他平台或更多 Python 版本的支持,请在 GitHub 存储库上为该项目填写问题,以便我可以优先考虑我的工作。我不想花时间在不知道是否有人真的需要它们的情况下提供更多的发行版。
注意:PyPI 上用于 pyrilla 的 Linux 轮子是PEP 513所述的便携式 Linux 构建发行版(即manylinux1)。
PyPI 上可用的 pyrilla 的源代码分发 (sdist) 仍然有点损坏。通常它不应该在 Linux 上编译。这将在未来发生变化。如果你想在 Linux 上使用 pyrilla,你需要在你的平台上自己构建它。该过程非常简单,并在本自述文件的构建部分中进行了描述。
最后但同样重要的是,还有一些对 cygwin 的支持。不幸的是,对于这个环境,PyPI 上还没有二元轮。如果你想在 cygwin 下使用 pyrilla 则需要手动编译。
用法
播放单个声音最简单的方法是使用Sound类:
from pyrilla import core
def finished(sound):
print("sound %s finished playing" % sound)
quit()
# note: sound file extension must be explicitely provided
sound = core.Sound("soundfile.ogg", "ogg")
# optional callback will be called when sound finishes to play
sound.play(finished)
while True:
# update internal state of default audio manager and mixer
# this mixes all currently played sounds, pushes buffers etc.
core.update()
要播放循环音频,您需要使用可以从现有声音创建的Voice实例。
from pyrilla import core
sound = core.Sound("soundfile.ogg", "ogg")
voice = core.Voice(sound, loop=True)
voice.play()
while True:
core.update()
有关自定义管理器/混音器、语音控制(音高、增益、平移)或停止/播放等更多功能,请参阅此 repo示例目录中的代码示例。
建造
构建 pyrilla 先决条件:
赛通
制作
制作
如果您要构建此软件包,请记住 Gorilla Audio 与此存储库捆绑在一起作为 Git 子模块,来自我在 GitHub 上的非官方分支(在gorilla-audio目录下)。您需要使用--recursive Git 标志或手动初始化子模块来克隆此存储库:
git submodule update --init --recursive
使用 cmake 构建构建 gorilla-audio
cmake gorilla-audio/build cmake --build . --config Release python setup.py build
对于 Windows(也在 cygwin 上):
cmake -DENABLE_OPENAL:STRING=0 -DENABLE_XAUDIO2:STRING=1 -DENABLE_DIRECTSOUND:STRING=0 . cmake --config Release --build .
然后构建并安装 python 扩展:
python setup.py build python setup.py install
请注意,为 Windows 构建可能有点棘手。如果您的个人环境损坏并且 Gorilla Audio 的编译步骤未找到 DirectX SDK 和/或 XAudio2 lib 文件的正确路径。如果您遇到与我相同的问题,那么您可能需要手动提供此路径以进行第一次 cmake 调用:
-DDIRECTX_XAUDIO2_LIBRARY=path/to/the/DirectXSdk/Lib/x86/xapobase.lib
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
内置发行版
pyrilla -0.0.2-cp35-cp35m-macosx_10_11_x86_64.whl 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 9668c6a2accee40ce08204cbbcd8e0ccdad6c05c3fd2f8bf168d5a3a67cb3289 |
|
| MD5 | 00baf7ab75f378b73706c3416931048c |
|
| 布莱克2-256 | 04f5b32e8baf5445ce41ce6b8c44b06e259ca21a13eafc0ebddef39cc3f08591 |