Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!
0 Пользователей и 1 Гость просматривают эту тему.
import gigi.require_version('Gst', '1.0')from gi.repository import Gstfrom gi.repository import Gtkfrom gi.repository import GObjectGObject.threads_init()Gst.init_check(None)class MyLPlayer(object): def __init__(self): uri = 'http://icecast.omroep.nl:80/radio1-bb-mp3' self.pipeline = Gst.Pipeline.new('player') self.caps = Gst.Caps.from_string('audio/x-raw, rate=44100, channels=2') self.bus = self.pipeline.get_bus() self.bus.add_signal_watch() self.bus.connect('message', self.show_peak) self.playbin = Gst.ElementFactory.make('playbin', None) self.autoaudiosrc = Gst.ElementFactory.make('autoaudiosrc', None) self.audioconvert = Gst.ElementFactory.make('audioconvert', None) self.level = Gst.ElementFactory.make('level', None) self.fakesink = Gst.ElementFactory.make('fakesink', None) self.pipeline.add(self.playbin) self.pipeline.add(self.autoaudiosrc) self.pipeline.add(self.audioconvert) self.pipeline.add(self.level) self.pipeline.add(self.fakesink) if self.autoaudiosrc.link(self.audioconvert): print('self.audioconvert') if self.audioconvert.link_filtered(self.level, self.caps): print('self.audioconvert.link_filtered(self.level, self.caps)') if self.level.link(self.fakesink): print('self.fakesink') self.fakesink.set_property('sync', True) self.playbin.set_property('uri', uri) self.pipeline.set_state(Gst.State.PLAYING) def show_peak(self, bus, message): s = Gst.Message.get_structure(message) if message.type == Gst.MessageType.ELEMENT: if str(Gst.Structure.get_name(s)) == 'level': print(s['rms'], s['peak'], s['decay'])MyLPlayer()Gtk.main()
[-699.9999998436322, -699.9999998436322] [-349.9999999218161, -349.9999999218161] [-349.9999999218161, -349.9999999218161]
Страница сгенерирована за 0.03 секунд. Запросов: 26.