25'ten fazla konu seçemezsiniz Konular bir harf veya rakamla başlamalı, kısa çizgiler ('-') içerebilir ve en fazla 35 karakter uzunluğunda olabilir.

36 satır
859 B

from __future__ import print_function
import sys
from PySide import phonon
class MusicBox(object):
# default media
media = {}
# state
_media_obj = None
@classmethod
def init(clazz):
clazz._output = phonon.Phonon.AudioOutput(phonon.Phonon.MusicCategory)
clazz._media_obj = phonon.Phonon.MediaObject()
phonon.Phonon.createPath(clazz._media_obj, clazz._output)
@classmethod
def add_music(clazz, name, media_path):
clazz.media[name] = phonon.Phonon.MediaSource(media_path)
@classmethod
def play_music(clazz, name):
try:
clazz._media_obj.setCurrentSource(clazz.media[name])
clazz._media_obj.play()
except KeyError:
print("Warning: Song '%s' is missing, not found in media base" % (name,), file=sys.stderr)
@classmethod
def stop_music(clazz):
# use pause so we don't stop having the device open
clazz._media_obj.pause()