3

有人可以提供一个简短的代码或伪代码示例,说明如何在 Linux 中的 Python 2.7.1 或 Python 3.1.3 中播放 ogg 文件(以及来自 Synaptic 包管理器或其他地方的任何依赖项列表)?

4

3 回答 3

3

如果你不介意依赖 numpy,我的包 audiolab 工作得很好,只要 libsndfile 本身支持它,它就支持开箱即用的 oggfile(如果你的版本足够新,它应该在 linux 上):

# the dependencies
sudo apt-get install libsndfile-dev python-numpy cython python-setuptools
# install audiolab
cd audiolab-0.11 && python setup.py install --user

基本 API 很简单:

from scikits.audiolab.pysndfile.matapi import oggread
data, fs, enc = oggread("myfile.ogg")

用于控制输出 dtype、范围等的更完整的 API 也是可用的。你可以在 pypi 上找到发布,在github上找到代码

于 2011-01-23T10:32:41.967 回答
1

前段时间我尝试用python编写一些游戏原型,我使用了pygame。 http://www.pygame.org/news.html 您应该能够在突触中找到它,并且它应该安装所有需要的依赖项,如果 ogg 不起作用,您可能需要 libvorbis,但您很可能已经安装了它. 无论如何,最好的办法可能是阅读 pygame. Otho 如果它不是您制作的游戏,您可能需要另一个库。但是我只能建议尝试搜索。

于 2011-01-23T08:38:57.133 回答
0

我使用 py-gstreamer 使用以下代码播放 ogg 文件

import sys, os

##FOR UBUNTU 13.04 onwards
import gi
gi.require_version('Gst', '1.0')
from gi.repository import GObject, Gst, Gtk
##end
GObject.threads_init()
Gst.init(None)

uri = "http://blender-podcast.org/episodes/Blender_Podcast_Episode_028.ogg"
#pipeline = Gst.Pipeline()
#delay = Gst.ElementFactory.make("audiodelay","delay")
player = Gst.ElementFactory.make("playbin", "player")
fakesink = Gst.ElementFactory.make("fakesink", "fakesink")
# pipeline.add(player)
# pipeline.add(fakesink)

player.set_property('uri', uri)
player.set_property("video-sink", fakesink)
player.set_state(Gst.State.PLAYING)
Gtk.main()

安装

sudo apt-get install libgstreamer1.0-0 libgstreamer1.0-0-dbg libgstreamer1.0-dev liborc-0.4-0 liborc-0.4-0-dbg liborc-0.4-dev liborc-0.4-doc gir1.2-gst-plugins-base-1.0 gir1.2-gstreamer-1.0 gstreamer1.0-alsa gstreamer1.0-doc gstreamer1.0-omx gstreamer1.0-plugins-bad gstreamer1.0-plugins-bad-dbg gstreamer1.0-plugins-bad-doc gstreamer1.0-plugins-base gstreamer1.0-plugins-base-apps gstreamer1.0-plugins-base-dbg gstreamer1.0-plugins-base-doc gstreamer1.0-plugins-good gstreamer1.0-plugins-good-dbg gstreamer1.0-plugins-good-doc gstreamer1.0-plugins-ugly gstreamer1.0-plugins-ugly-dbg gstreamer1.0-plugins-ugly-doc gstreamer1.0-pulseaudio gstreamer1.0-tools gstreamer1.0-x libgstreamer-plugins-bad1.0-0 libgstreamer-plugins-bad1.0-dev libgstreamer-plugins-base1.0-0 libgstreamer-plugins-base1.0-dev
于 2014-01-20T10:41:08.410 回答