Differenze tra le versioni di "Riproduzione dell'audio di radio WEB con le funzioni esterne del API di GStreamer"
Da Gambas-it.org - Wikipedia.
Riga 2: | Riga 2: | ||
− | + | ===Uso del plug-in ''playbin''=== | |
Private Const GST_STATE_NULL As Integer = 1 | Private Const GST_STATE_NULL As Integer = 1 | ||
Private Const GST_STATE_PLAYING As Integer = 4 | Private Const GST_STATE_PLAYING As Integer = 4 | ||
Riga 10: | Riga 10: | ||
Library "libgstreamer-1.0" | Library "libgstreamer-1.0" | ||
− | <FONT color=gray>' ''gst_init (&argc, &argv)''</font> | + | <FONT color=gray>' ''gst_init (&argc, &argv)'' |
+ | ' ''Initializes the GStreamer library, setting up internal path lists, registering built-in elements, and loading standard plugins.''</font> | ||
Private Extern gst_init(argc As Integer, argv As Pointer) | Private Extern gst_init(argc As Integer, argv As Pointer) | ||
− | <FONT color=gray>' ''GstElement * gst_element_factory_make(const gchar *factoryname, Const gchar * name)''</font> | + | <FONT color=gray>' ''GstElement * gst_element_factory_make(const gchar *factoryname, Const gchar * name)'' |
+ | ' ''Create a new element of the type defined by the given element factory.''</font> | ||
Private Extern gst_element_factory_make(factoryname As String, name As String) As Pointer | Private Extern gst_element_factory_make(factoryname As String, name As String) As Pointer | ||
− | <FONT color=gray>' ''void g_object_set(gpointer object, const gchar *first_property_name, ...)''</font> | + | <FONT color=gray>' ''void g_object_set(gpointer object, const gchar *first_property_name, ...)'' |
+ | ' ''Sets properties on an object.''</font> | ||
Private Extern g_object_set(gobject As Pointer, key As String, value As String, nl As String) | Private Extern g_object_set(gobject As Pointer, key As String, value As String, nl As String) | ||
− | <FONT color=gray>' ''GstStateChangeReturn gst_element_set_state(GstElement *element, GstState state)''</font> | + | <FONT color=gray>' ''GstStateChangeReturn gst_element_set_state(GstElement *element, GstState state)'' |
+ | ' ''Sets the state of the element.''</font> | ||
Private Extern gst_element_set_state(gstobject As Pointer, state As Integer) As Integer | Private Extern gst_element_set_state(gstobject As Pointer, state As Integer) As Integer | ||
− | <FONT color=gray>' ''void gst_object_unref(gpointer object)''</font> | + | <FONT color=gray>' ''void gst_object_unref(gpointer object)'' |
+ | ' ''Decrements the reference count on object .''</font> | ||
Private Extern gst_object_unref(gobject As Pointer) | Private Extern gst_object_unref(gobject As Pointer) | ||
Versione delle 16:20, 16 feb 2017
Le stazioni radio via WEB possono essere ascoltate utilizzando le risorse del API di GStreamer.
Uso del plug-in playbin
Private Const GST_STATE_NULL As Integer = 1 Private Const GST_STATE_PLAYING As Integer = 4 Private play As Pointer Library "libgstreamer-1.0" ' gst_init (&argc, &argv) ' Initializes the GStreamer library, setting up internal path lists, registering built-in elements, and loading standard plugins. Private Extern gst_init(argc As Integer, argv As Pointer) ' GstElement * gst_element_factory_make(const gchar *factoryname, Const gchar * name) ' Create a new element of the type defined by the given element factory. Private Extern gst_element_factory_make(factoryname As String, name As String) As Pointer ' void g_object_set(gpointer object, const gchar *first_property_name, ...) ' Sets properties on an object. Private Extern g_object_set(gobject As Pointer, key As String, value As String, nl As String) ' GstStateChangeReturn gst_element_set_state(GstElement *element, GstState state) ' Sets the state of the element. Private Extern gst_element_set_state(gstobject As Pointer, state As Integer) As Integer ' void gst_object_unref(gpointer object) ' Decrements the reference count on object . Private Extern gst_object_unref(gobject As Pointer) Public Sub Form_Open() Dim retI As Integer gst_init(0, 0) play = gst_element_factory_make("playbin", "play") ' Nel terzo argomento della seguente funzione va inserito ' l'indirizzo web del flusso di dati audio in tempo reale: g_object_set(play, "uri", "http://indirizzo/web/del/flusso/dati/della/radio4-web", Null) ' Avviamo la riproduzione audio della radio-web: retI = gst_element_set_state(play, GST_STATE_PLAYING) Print "Stato di cambiamento = "; retI End Public Sub Button1_Click() Dim retI As Integer ' Arrestiamo la riproduzione audio: retI = gst_element_set_state(play, GST_STATE_NULL) Print "Stato di cambiamento = "; retI gst_object_unref(play) End