Domanda

Qualcuno potrebbe fornire un codice o pseudo breve esempio di come giocare ogg file in Python 2.7.1 o Python 3.1.3 in Linux (insieme a un elenco di tutte le dipendenze dal Gestore pacchetti Synaptic, o altrove)?

È stato utile?

Soluzione

Se non ti dispiace seconda NumPy, mio ??pacchetto AudioLab funziona abbastanza bene e supporti oggfile fuori dalla scatola finché libsndfile si sostiene che (dovrebbe su linux se la versione è abbastanza recente):

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

L'API di base è semplice:

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

Un'API più completa per il controllo DTYPE uscita, gamma, ecc ... è inoltre disponibile. Puoi trovare uscite su PyPI, e il codice a github

Altri suggerimenti

Qualche tempo fa ho provato a scrivere qualche prototipo di gioco in pitone e ho usato pygame. http://www.pygame.org/news.html Si dovrebbe essere in grado di trovare in sinaptica, ed è necessario installare tutte le dipendenze necessarie, se ogg non avrebbe funzionato si sarebbe probabilmente bisogno di libvorbis, ma è più probabile averlo installato già. Ad ogni modo, cosa probabilmente migliore da fare è quello di leggere pygame. Ottone se non è un gioco che il vostro facendo si potrebbe aver bisogno un'altra libreria. Ma poi tutto quello che posso suggerire è provare a cercare.

ho usato py-gstreamer per riprodurre file ogg con il seguente codice

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()

Installazione

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
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top