跳转到主要内容

Python绑定到gorilla-audio库

项目描述

Windows构建

Mac OS X构建

Build status

Build Status

pyrilla

pyrilla是一个静态链接绑定到gorilla-audio库的独立库 - “试图制作一个免费、简单、跨平台的、高级软件音频混音器,支持播放静态和流式音频”。像原始库一样,它旨在用于视频游戏开发。

pyrilla的目标是提供一个Python音频包,可以通过单个pip install pyrilla命令安装,无需任何外部依赖。它是使用Cython构建的,其API受到了优秀的但已不再维护的bacon游戏引擎的一部分的启发。

它在OS X、Windows和Linux上运行无任何问题。官方支持的Python版本是py27、py33、py34、py35。

PyPI上的pyrilla和支持的系统

PyPI version

Pyrilla是Gorilla Audio C库的包装器,在安装时进行静态链接。为了方便开发者,它作为Windows、OS X和Linux的二进制轮子在PyPI上分发。其广泛的构建管道针对不同的系统版本(32/64位)和不同的Python版本。在支持的系统上,它可以很容易地通过pip安装

pip install pyrilla

提供的最新分布列表可在 PyPI 上的 Pyrilla 项目页面找到,链接为 https://pypi.python.org/pypi/pyrilla/0.0.1。根据目标平台,底层 Gorilla Audio 库会使用略有不同的设置进行编译

目标平台

可用的 Python 版本

音频后端

架构

Windows

py27, py33, py34, py35

XAudio2

Win32/Win64

Mac OS X

py27, py33, py34, py35

OpenAL

intel/x86_64

Linux

py27, py33, py34, py35

OpenAL

x86_64/i686 (32位)

如果您真的需要支持其他平台或更多 Python 版本,请在 GitHub 项目的仓库中填写问题,以便我可以优先处理我的工作。我不想在不了解是否有人真的需要更多分布的情况下浪费时间。

注意:PyPI 上的 Pyrilla Linux 轮子是可移植的 Linux 构建分布(即 manylinux1),如 PEP 513 所述。

Pyrilla 在 PyPI 上的源分布(sdist)仍然有些破损。一般来说,它不应该在 Linux 上编译。这将在未来改变。如果您想在 Linux 上使用 Pyrilla,您需要在自己的平台上自行构建它。过程相当简单,在 README 文件的 构建 部分有描述。

最后但同样重要的是,还有一些对 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()

有关自定义管理器/混音器、声音控制(音调、增益、平衡)或停止/播放等更多功能的代码示例,请参阅此仓库的 examples 目录。

构建

构建 Pyrilla 预先条件

  • cython

  • cmake

  • make

如果您打算构建此包,请记住,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 库文件的正确路径。如果您和我有相同的问题,那么您可能需要手动将此路径提供给第一个 cmake 调用。

-DDIRECTX_XAUDIO2_LIBRARY=path/to/the/DirectXSdk/Lib/x86/xapobase.lib

项目详情


下载文件

下载适用于您平台上的文件。如果您不确定该选择哪个,请了解更多关于 安装包 的信息。

源分发

此版本没有可用的源分发文件。请参阅 生成分发存档 的教程。

构建分发

pyrilla-0.0.2-cp35-cp35m-win_amd64.whl (139.8 kB 查看散列)

上传于 CPython 3.5m Windows x86-64

pyrilla-0.0.2-cp35-cp35m-win32.whl (116.5 kB 查看哈希值)

上传于 CPython 3.5m Windows x86

pyrilla-0.0.2-cp35-cp35m-manylinux1_x86_64.whl (271.0 kB 查看哈希值)

上传于 CPython 3.5m

pyrilla-0.0.2-cp35-cp35m-manylinux1_i686.whl (242.2 kB 查看哈希值)

上传于 CPython 3.5m

pyrilla-0.0.2-cp35-cp35m-macosx_10_11_x86_64.whl (191.3 kB 查看哈希值)

上传于 CPython 3.5m macOS 10.11+ x86-64

pyrilla-0.0.2-cp35-cp35m-macosx_10_6_intel.whl (214.5 kB 查看哈希值)

上传于 CPython 3.5m macOS 10.6+ intel

pyrilla-0.0.2-cp34-cp34m-win_amd64.whl (134.1 kB 查看哈希值)

上传于 CPython 3.4m Windows x86-64

pyrilla-0.0.2-cp34-cp34m-win32.whl (120.4 kB 查看哈希值)

上传于 CPython 3.4m Windows x86

pyrilla-0.0.2-cp34-cp34m-manylinux1_x86_64.whl (272.8 kB 查看哈希值)

上传于 CPython 3.4m

pyrilla-0.0.2-cp34-cp34m-manylinux1_i686.whl (244.1 kB 查看哈希值)

上传于 CPython 3.4m

pyrilla-0.0.2-cp34-cp34m-macosx_10_11_x86_64.whl (191.2 kB 查看哈希值)

上传于 CPython 3.4m macOS 10.11+ x86-64

pyrilla-0.0.2-cp34-cp34m-macosx_10_6_intel.whl (214.4 kB 查看哈希值)

上传时间 CPython 3.4m macOS 10.6+ intel

pyrilla-0.0.2-cp33-none-win32.whl (120.4 kB 查看哈希值)

上传时间 CPython 3.3 Windows x86

pyrilla-0.0.2-cp33-cp33m-win_amd64.whl (134.0 kB 查看哈希值)

上传时间 CPython 3.3m Windows x86-64

pyrilla-0.0.2-cp33-cp33m-manylinux1_x86_64.whl (267.5 kB 查看哈希值)

上传时间 CPython 3.3m

pyrilla-0.0.2-cp33-cp33m-manylinux1_i686.whl (238.9 kB 查看哈希值)

上传时间 CPython 3.3m

pyrilla-0.0.2-cp33-cp33m-macosx_10_11_x86_64.whl (191.1 kB 查看哈希值)

上传时间 CPython 3.3m macOS 10.11+ x86-64

pyrilla-0.0.2-cp33-cp33m-macosx_10_6_x86_64.whl (214.2 kB 查看哈希值)

上传时间 CPython 3.3m macOS 10.6+ x86-64

pyrilla-0.0.2-cp27-none-macosx_10_11_intel.whl (209.8 kB 查看哈希值)

上传时间 CPython 2.7 macOS 10.11+ intel

pyrilla-0.0.2-cp27-cp27mu-manylinux1_x86_64.whl (263.7 kB 查看哈希值)

上传时间 CPython 2.7mu

pyrilla-0.0.2-cp27-cp27mu-manylinux1_i686.whl (236.6 kB 查看哈希值)

上传时间 CPython 2.7mu

pyrilla-0.0.2-cp27-cp27m-win_amd64.whl (134.4 kB 查看哈希值)

上传时间 CPython 2.7m Windows x86-64

pyrilla-0.0.2-cp27-cp27m-win32.whl (120.3 kB 查看哈希值)

上传于 CPython 2.7m Windows x86

pyrilla-0.0.2-cp27-cp27m-manylinux1_x86_64.whl (263.7 kB 查看哈希值)

上传于 CPython 2.7m

pyrilla-0.0.2-cp27-cp27m-manylinux1_i686.whl (236.5 kB 查看哈希值)

上传于 CPython 2.7m

pyrilla-0.0.2-cp27-cp27m-macosx_10_11_x86_64.whl (190.9 kB 查看哈希值)

上传于 CPython 2.7m macOS 10.11+ x86-64

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面