首页 > 解决方案 > 在 NixOS 上使用 pyglet.media (& avbin)(没有声音播放)

问题描述

我有一个前段时间在 Windows 上制作的音乐播放器,我正试图在 NixOS 上工作。但是,尝试播放任何声音文件,即使使用最基本的脚本也无济于事。

player = pyglet.media.Player()
source = pyglet.media.load(path)
player.queue(source)
player.play()

什么都没发生。没有错误,它立即完成。我尝试下载 AVbin,但安装程序不适用于 NixOS(不同的文件层次结构)。我该怎么做才能让它发挥作用?我 Pyglet 甚至还在开发(似乎安装程序自 2012 年以来没有改变)?将所有内容更改为 PyGame 或其他具有与 Pyglet 相同的容量和时间能力的东西需要相当长的时间。

标签: pythonaudiopygletnixnixos

解决方案


Pyglet 不久前放弃了 avbin,因为它没有维护/死了。

此外,在您的简单示例中,您没有使用pyglet.app.run()时钟来安排播放样本所必需的。(以及为什么您的脚本会立即停止)

对于 Linux,Pyglet 支持 GStreamer 和 Ffmpeg,因此您必须安装其中一个库才能继续播放媒体。


推荐阅读