Differenze tra le versioni di "Ottenere la durata di un file Midi con le funzioni esterne del API di VLC"

Da Gambas-it.org - Wikipedia.
(Creata pagina con "Per ottenere la durata di un file Midi con l'API di VLC, è possibile utilizzare la funzione esterna: "''libvlc_media_get_duration( )''". E' necessario avere installata nel s...")
 
Riga 1: Riga 1:
 
Per ottenere la durata di un file Midi con l'API di VLC, è possibile utilizzare la funzione esterna: "''libvlc_media_get_duration( )''".
 
Per ottenere la durata di un file Midi con l'API di VLC, è possibile utilizzare la funzione esterna: "''libvlc_media_get_duration( )''".
  
E' necessario avere installata nel sistema e richiamare nel programma Gambas la libreria condivisa: "''libvlc.so.5.6.0. ''"
+
E' necessario avere installata nel sistema e richiamare nel programma Gambas la libreria condivisa: "''libvlc.so.5.6.0''"
  
 
Mostriamo un esempio pratico:
 
Mostriamo un esempio pratico:
  Library "libvlc"
+
  Library "libvlc:5.6.0"
 
   
 
   
 
  Private Enum libvlc_media_parse_local = 0,
 
  Private Enum libvlc_media_parse_local = 0,

Versione delle 14:51, 27 ago 2020

Per ottenere la durata di un file Midi con l'API di VLC, è possibile utilizzare la funzione esterna: "libvlc_media_get_duration( )".

E' necessario avere installata nel sistema e richiamare nel programma Gambas la libreria condivisa: "libvlc.so.5.6.0"

Mostriamo un esempio pratico:

Library "libvlc:5.6.0"

Private Enum libvlc_media_parse_local = 0,
             libvlc_media_parse_network,
             libvlc_media_fetch_local,
             libvlc_media_fetch_network = 4,
             libvlc_media_do_interact = 8

' 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

' int libvlc_media_parse_with_options (libvlc_media_t *p_md, libvlc_media_parse_flag_t parse_flag, int timeout)
' Parse the media asynchronously with options.
Private Extern libvlc_media_parse_with_options(p_md As Pointer, parse_flag As Integer, timeout As Integer) As Integer

' libvlc_time_t libvlc_media_get_duration(libvlc_media_t *p_md)
' Get duration (in ms) of media descriptor object item.
Private Extern libvlc_media_get_duration(p_md As Pointer) As Long

' 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)

' 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, md As Pointer
 Dim tm As Long
 
 inst = libvlc_new(0, Null)
 
 md = libvlc_media_new_path(inst, "/percorso/del/file.mid")
 
 libvlc_media_parse_with_options(md, libvlc_media_parse_local, 0)
 Sleep 1
 tm = libvlc_media_get_duration(md)
 
 Print "Durata: "; Date(0, 0, 0, 0, 0, 0, tm)
 
 libvlc_media_release(md)
 libvlc_release(inst)
 
End