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.
Riga 5: | Riga 5: | ||
Mostriamo di seguito un esempio pratico: | Mostriamo di seguito un esempio pratico: | ||
+ | Private Const URI As String = "file://" | ||
+ | |||
+ | |||
Library "librhythmbox-core:10.0.0" | Library "librhythmbox-core:10.0.0" | ||
Riga 28: | Riga 31: | ||
− | + | Public Sub Main() | |
− | |||
Dim met As Pointer | Dim met As Pointer | ||
Dim bo as Boolean | Dim bo as Boolean | ||
− | |||
met = rb_metadata_new() | met = rb_metadata_new() | ||
If met == 0 Then Error.Raise("Errore !") | If met == 0 Then Error.Raise("Errore !") | ||
− | rb_metadata_load(met, | + | rb_metadata_load(met, URI & "<FONT Color=darkgreen>''/percorso/del/file''</font>", 0) |
bo = rb_metadata_has_audio(met) | bo = rb_metadata_has_audio(met) | ||
Riga 47: | Riga 48: | ||
gst_object_unref(met) | gst_object_unref(met) | ||
− | + | End | |
Versione attuale delle 08:32, 19 giu 2024
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:
Private Const URI As String = "file://" 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 met As Pointer Dim bo as Boolean 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