Differenze tra le versioni di "Estrarre informazioni e TAG da un file audio con le funzioni esterne del API di VLC"
Da Gambas-it.org - Wikipedia.
Riga 1: | Riga 1: | ||
La libreria '''LibVLC''' consente, fra l'altro, di estrarre informazioni dai TAG dei file audio: MP3, OGG, WMA. | La libreria '''LibVLC''' consente, fra l'altro, di estrarre informazioni dai TAG dei file audio: MP3, OGG, WMA. | ||
− | E' necessario avere installata nel proprio sistema e richiamare in Gambas la libreria | + | E' necessario avere installata nel proprio sistema e richiamare in Gambas la libreria condivisa: "''libvlc.so.5.6.1'' ". |
Mostriamo un semplice esempio pratico: | Mostriamo un semplice esempio pratico: | ||
− | Library "libvlc:5.6. | + | Library "libvlc:5.6.1" |
Private Enum libvlc_meta_Title = 0, libvlc_meta_Artist, libvlc_meta_Genre, libvlc_meta_Copyright, | Private Enum libvlc_meta_Title = 0, libvlc_meta_Artist, libvlc_meta_Genre, libvlc_meta_Copyright, | ||
Riga 40: | Riga 40: | ||
− | + | Public Sub Main() | |
Dim inst, media As Pointer | Dim inst, media As Pointer | ||
Riga 69: | Riga 69: | ||
libvlc_release(inst) | libvlc_release(inst) | ||
− | + | End | |
Versione attuale delle 17:44, 12 gen 2024
La libreria LibVLC consente, fra l'altro, di estrarre informazioni dai TAG dei file audio: MP3, OGG, WMA.
E' necessario avere installata nel proprio sistema e richiamare in Gambas la libreria condivisa: "libvlc.so.5.6.1 ".
Mostriamo un semplice esempio pratico:
Library "libvlc:5.6.1" Private Enum libvlc_meta_Title = 0, libvlc_meta_Artist, libvlc_meta_Genre, libvlc_meta_Copyright, libvlc_meta_Album, libvlc_meta_TrackNumber, libvlc_meta_Description, libvlc_meta_Rating, libvlc_meta_Date, libvlc_meta_Setting, libvlc_meta_URL, libvlc_meta_Language, libvlc_meta_NowPlaying, libvlc_meta_Publisher, libvlc_meta_EncodedBy, libvlc_meta_ArtworkURL, libvlc_meta_TrackID, libvlc_meta_TrackTotal, libvlc_meta_Director, libvlc_meta_Season, libvlc_meta_Episode, libvlc_meta_ShowName, libvlc_meta_Actors, libvlc_meta_AlbumArtist, libvlc_meta_DiscNumber, libvlc_meta_DiscTotal ' libvlc_instance_t * libvlc_new (int argc, const char *const *argv) ' Create And initialize a libvlc instance. Private Extern libvlc_new(argc As Integer, argv As String[]) As Pointer ' libvlc_media_t * libvlc_media_new_path (libvlc_instance_t *p_instance, const char *path) ' Create a media for a certain file path. Private Extern libvlc_media_new_path(p_instance As Pointer, path As String) As Pointer ' void libvlc_media_parse (libvlc_media_t *p_md) ' Parse a media. Private Extern libvlc_media_parse(p_md As Pointer) ' char * libvlc_media_get_meta (libvlc_media_t *p_md, libvlc_meta_t e_meta) ' Read the meta of the media. Private Extern libvlc_media_get_meta(p_md As Pointer, e_meta As Integer) As String ' void libvlc_media_release (libvlc_media_t *p_md) ' Decrement the reference count of a media descriptor object. Private Extern libvlc_media_release(p_md As Pointer) ' void libvlc_release (libvlc_instance_t * p_instance) ' Decrement the reference count of a libvlc instance, and destroy it if it reaches zero. Private Extern libvlc_release(p_instance As Pointer) Public Sub Main() Dim inst, media As Pointer Dim fileaudio, meta As String Dim info as String[] Dim i As Integer ' Cerca di estrapolare solo i primi nove TAG più interessanti: info = ["Titolo: ", "Artista: ", "Genere: ", "Copyright: ", "Album: "Numero traccia: ", "Descrizione: ", "Rating: ", "Data: "] fileaudio = "/percorso/del/file/audio" inst = libvlc_new(0, Null) media = libvlc_media_new_path(inst, fileaudio) libvlc_media_parse(media) ' Cerca di estrapolare i primi nove TAG: For i = 0 To 8 meta = libvlc_media_get_meta(media, i) Print info[i]; meta Next ' Va in chiusura: libvlc_media_release(media) libvlc_release(inst) End