Differenze tra le versioni di "Sapere con le funzioni esterne del API di Rhythmbox se un file contiene dati audio e/o video"
Da Gambas-it.org - Wikipedia.
(2 versioni intermedie di uno stesso utente non sono mostrate) | |||
Riga 1: | Riga 1: | ||
Con alcune funzioni esterne del API di ''Rhythmbox'' è possibile sapere se un file contiene dati audio e/o video. | Con alcune funzioni esterne del API di ''Rhythmbox'' è possibile sapere se un file contiene dati audio e/o video. | ||
− | E' necessario avere installata nel sistema e richiamare in Gambas la libreria condivisa: "''librhythmbox-core.so.10.0.0''" | + | E' necessario avere installata nel sistema e richiamare in Gambas la libreria condivisa: "''librhythmbox-core.so.10.0.0'' ". |
Mostriamo di seguito un esempio pratico: | Mostriamo di seguito un esempio pratico: | ||
− | Library "librhythmbox-core:10" | + | Library "librhythmbox-core:10.0.0" |
<FONT Color=gray>' ''RBMetaData *rb_metadata_new (void)'' | <FONT Color=gray>' ''RBMetaData *rb_metadata_new (void)'' | ||
Riga 22: | Riga 22: | ||
' ''Retrieves the value of a metadata field extracted from the target URI.''</font> | ' ''Retrieves the value of a metadata field extracted from the target URI.''</font> | ||
Private Extern rb_metadata_has_video(md As Pointer) As Boolean | Private Extern rb_metadata_has_video(md As Pointer) As Boolean | ||
+ | |||
+ | <FONT Color=gray>' ''void gst_object_unref(gpointer object)'' | ||
+ | ' ''Decrements the reference count on object.''</font> | ||
+ | Private Extern gst_object_unref(gobject As Pointer) | ||
Riga 32: | Riga 36: | ||
uri = "file://" | uri = "file://" | ||
met = rb_metadata_new() | met = rb_metadata_new() | ||
+ | If met == 0 Then Error.Raise("Errore !") | ||
rb_metadata_load(met, uri & "<FONT Color=gray>''/percorso/del/file''</font>", 0) | rb_metadata_load(met, uri & "<FONT Color=gray>''/percorso/del/file''</font>", 0) | ||
Riga 39: | Riga 44: | ||
bo = rb_metadata_has_video(met) | bo = rb_metadata_has_video(met) | ||
Print bo | Print bo | ||
+ | |||
+ | gst_object_unref(met) | ||
'''End''' | '''End''' | ||
− | |||
Versione delle 20:23, 28 dic 2021
Con alcune funzioni esterne del API di Rhythmbox è possibile sapere se un file contiene dati audio e/o video.
E' necessario avere installata nel sistema e richiamare in Gambas la libreria condivisa: "librhythmbox-core.so.10.0.0 ".
Mostriamo di seguito un esempio pratico:
Library "librhythmbox-core:10.0.0" ' RBMetaData *rb_metadata_new (void) ' Creates a new metadata backend instance. Private Extern rb_metadata_new() As Pointer ' void rb_metadata_load (RBMetaData *md, const char *uri, GError **error) ' Reads metadata information from the specified URI. Private Extern rb_metadata_load(md As Pointer, uri As String, gerror As Pointer) ' gboolean rb_metadata_has_audio (RBMetaData *md) ' Retrieves the value of a metadata field extracted from the target URI. Private Extern rb_metadata_has_audio(md As Pointer) As Boolean ' gboolean rb_metadata_has_video (RBMetaData *md) ' Retrieves the value of a metadata field extracted from the target URI. Private Extern rb_metadata_has_video(md As Pointer) As Boolean ' void gst_object_unref(gpointer object) ' Decrements the reference count on object. Private Extern gst_object_unref(gobject As Pointer) Public Sub Main() Dim uri as String Dim met As Pointer Dim bo as Boolean uri = "file://" met = rb_metadata_new() If met == 0 Then Error.Raise("Errore !") rb_metadata_load(met, uri & "/percorso/del/file", 0) bo = rb_metadata_has_audio(met) Print bo bo = rb_metadata_has_video(met) Print bo gst_object_unref(met) End