Python绑定到gorilla-audio库
项目描述
Windows构建 |
Mac OS X构建 |
---|---|
pyrilla
pyrilla是一个静态链接绑定到gorilla-audio库的独立库 - “试图制作一个免费、简单、跨平台的、高级软件音频混音器,支持播放静态和流式音频”。像原始库一样,它旨在用于视频游戏开发。
pyrilla的目标是提供一个Python音频包,可以通过单个pip install pyrilla命令安装,无需任何外部依赖。它是使用Cython构建的,其API受到了优秀的但已不再维护的bacon游戏引擎的一部分的启发。
它在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 项目页面找到,链接为 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 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | bc00b97007b18829b36cdeb5a0e57817773cf9bcf477caaad78f0c2f5094b863 |
|
MD5 | c6c9afddd0504d9f0a1e17c188100dad |
|
BLAKE2b-256 | 2a0329ca339aad440e174c5a42d4d2312477bdb56ad258af9c92ec09f1820777 |
pyrilla-0.0.2-cp35-cp35m-win32.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 4dc48c72c836ae6b147dc7107e39773501a8144458450aeefc8f167751f83df0 |
|
MD5 | fc73710699b7ff3bce6c80e33981e520 |
|
BLAKE2b-256 | 2611ed2b228f99557e9eac746be1a2d8026a48c551f31889b88c01bec07f8286 |
pyrilla-0.0.2-cp35-cp35m-manylinux1_x86_64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 069910a4bfeb66d15a263d0b55c642bd8663d50b1bbcefb8daef649ba5bae983 |
|
MD5 | a0ed40af4ca9732b095c49b6755577d5 |
|
BLAKE2b-256 | 56f2a54f57fac80d0be785a8d12a3434efdecf64165ca75754e4815f06a99a8d |
pyrilla-0.0.2-cp35-cp35m-manylinux1_i686.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 94cc150de6cb722a4aa3b1b2fbe36d1b712df282c1960eafb1b535eaae66e50f |
|
MD5 | 3a10a41b26dea75bba08cac249aafa66 |
|
BLAKE2b-256 | 3717f10d52c5d3bdd55287d80915cddbb877912af3b3206986923774153b52bf |
pyrilla-0.0.2-cp35-cp35m-macosx_10_11_x86_64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 9668c6a2accee40ce08204cbbcd8e0ccdad6c05c3fd2f8bf168d5a3a67cb3289 |
|
MD5 | 00baf7ab75f378b73706c3416931048c |
|
BLAKE2b-256 | 04f5b32e8baf5445ce41ce6b8c44b06e259ca21a13eafc0ebddef39cc3f08591 |
pyrilla-0.0.2-cp35-cp35m-macosx_10_6_intel.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | d343282a2e44a03961d342edd86caf5dad3e8f1957bf2f51e630e51b6da5ddf5 |
|
MD5 | 5575c9143ee8538a29fe380810f974b0 |
|
BLAKE2b-256 | 0fdb7b6983a0c79f589cb745bfe6983dab96b340afb59d97d0af1ff7450526d8 |
pyrilla-0.0.2-cp34-cp34m-win_amd64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 510bda263e9374eb91769413212eee711962f89034e7f7a959380f68bdedeee0 |
|
MD5 | 70c1454aeda8f2084334653cbab6d6cb |
|
BLAKE2b-256 | d8170b8a0a4a6fd4fb30a54e4c4989aa48dc31b1cdefb6abe68fc046a3f173cd |
pyrilla-0.0.2-cp34-cp34m-win32.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | a8f62663fd5dba6f9627c17f4a0c35abb62ee5426406cb94eb5565c5ac46fe54 |
|
MD5 | 28bcd433c362cb0f5d28c6a53649f9a2 |
|
BLAKE2b-256 | 277844dc37f35d67cbbdc7b58adb3d863e37bd733b58d6f0b7be8af0c16d14a5 |
哈希值 用于 pyrilla-0.0.2-cp34-cp34m-manylinux1_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ea3a9fdc6c6026642886954cc61d219be04791a461522fa32078c50df2c42600 |
|
MD5 | cdef75047301fbcc00278a85531b2489 |
|
BLAKE2b-256 | c60ff0db0db5bd09d5a7f82bdbd50e57dc38fa77014668c759185fbd1d6a265e |
哈希值 用于 pyrilla-0.0.2-cp34-cp34m-macosx_10_11_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 72c18cb31c40a4eb1bf9a0e34095e68fc9a86a598408c1be6f60c25d2d0e1bf8 |
|
MD5 | 9c7de908a7ad5a52095d4dc0554509af |
|
BLAKE2b-256 | 8a31c12e8c106118c5a09180879af97fffeaa785de3b1bac56968eade987db39 |
哈希值 用于 pyrilla-0.0.2-cp34-cp34m-macosx_10_6_intel.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e2e02897a05766915fc8748e32b63071708b24c40a269ffc3b2f9f8f1fd38823 |
|
MD5 | 1e222d42e84fc009d244fcab43a03a67 |
|
BLAKE2b-256 | 05b0824da5304149a2fbfc9274b3557c12dc3d7f0b30a961acb4d66406eca552 |
哈希值 用于 pyrilla-0.0.2-cp33-cp33m-manylinux1_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | b41de2f841fb8e6c67f2ba696cdd31d38a71166ed07f256a68c4574fc3c73cf5 |
|
MD5 | dc23435b25446216ab90c2034b713c44 |
|
BLAKE2b-256 | a6940cd77afc458da3504d85e6ef1fd756202c97d28f1353e11aa1a3cb353e2f |
哈希值 用于 pyrilla-0.0.2-cp33-cp33m-macosx_10_11_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ec4d2bb6ea04161d9d307117fb2f754006bfc9dc9d6d69b1a1f96d49ec5fb460 |
|
MD5 | fd6afe8544fbbef8fefd11ed45c0ad76 |
|
BLAKE2b-256 | 57e1176d5cf90681e8e9b043585b54a6bbb8686f82faffeb74c6b1ce25641146 |
哈希值 用于 pyrilla-0.0.2-cp33-cp33m-macosx_10_6_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 27cc9941c0a194f87712f606870aff079140ca248a195d3da25842da7f970463 |
|
MD5 | b8ce2d42490a1c886c02cae5c86909b6 |
|
BLAKE2b-256 | d9dc68a94f3045c4295f2ecc54be9fa804dceafc435483907d02fdc1d47d6b05 |
哈希值 用于 pyrilla-0.0.2-cp27-none-macosx_10_11_intel.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | bec7d6254f35e9e9f97de078c7d866c700a2fde4940a89ddd7866ff5c1b1cbc7 |
|
MD5 | 67849363e0159d189cd2820c2e6fab66 |
|
BLAKE2b-256 | 086739e02a5f37dc82cdb2d7462df6b4c1b939e94313ba9714f1331a2e4b74e1 |
哈希值 用于 pyrilla-0.0.2-cp27-cp27mu-manylinux1_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 27d07aa1986907a9fb406350c26c45cf537ed9c9fe2d438862a4c1fe7160d619 |
|
MD5 | 7f429b0793afacd51e26480766a5c3a9 |
|
BLAKE2b-256 | c35b8caa322a6a1c92e7371b5aaf8602b887750837af0f9207522dc96630cbfe |
哈希值 用于 pyrilla-0.0.2-cp27-cp27mu-manylinux1_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | b6daac687103aa245617ba23e36b6680f5093d2b56deb035423d4f6ce7bd1b3c |
|
MD5 | fb0ce65c285072c08d312e4da6d30803 |
|
BLAKE2b-256 | ba2ed631241e11acd3b53874cc36df3c4dbcda8338bed08e5ebaee6f1b384982 |
哈希值 for pyrilla-0.0.2-cp27-cp27m-manylinux1_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 68b6474361f4dc074fe9098426b4f3c39c0afba74862995a985b03a98e45f26d |
|
MD5 | 2baebf7a4269cd07fd82cd2470481c35 |
|
BLAKE2b-256 | 1784812d023457884200f44fed5f2f75aedf22e956f19aefda58545484baeef7 |
哈希值 for pyrilla-0.0.2-cp27-cp27m-macosx_10_11_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 9f92db7480a5f15178f785848bb324799cc7c20910d81628012dd6d39cbceb15 |
|
MD5 | a8633cca360c4fefc106932e5974dfe4 |
|
BLAKE2b-256 | 0cca42b8197d304a0305670231dcd9eafb9fb041f802672c2a6dc159df02c7db |