Differenze tra le versioni di "La gestione dei file MIDI mediante le funzioni esterne del API di VLC"

Da Gambas-it.org - Wikipedia.
(Creata pagina con 'La libreria '''''LibVLC''''' consente di eseguire anche file MIDI, purché si abbiano installate nel sistema anche le risorse dei plugin ''FluidSynth'' per VLC: ''vlc-plugin-f...')
 
 
(24 versioni intermedie di uno stesso utente non sono mostrate)
Riga 1: Riga 1:
La libreria '''''LibVLC''''' consente di eseguire anche file MIDI, purché si abbiano installate nel sistema anche le risorse dei plugin ''FluidSynth'' per VLC: ''vlc-plugin-fluidsynth''.
+
* [[Eseguire un file Midi mediante le funzioni esterne del API di VLC]]
  
 +
* [[Ottenere la durata di un file Midi con le funzioni esterne del API di VLC]]
  
E' possibile eseguire dati Midi anche direttamente da internet.
+
* [[Ottenere un file audio da un file Midi con le funzioni esterne del API di VLC]] (<FONT Color=#B22222>Non più funzionante</font>)
 
 
 
 
Per creare un'applicazione con la presente risorsa, si dovrà utilizzare l'attuale libreria ''libvlc.so.5.3.2''.
 
 
 
 
 
Mostriamo di seguito un breve codice esemplificativo capace di eseguire un file Midi.
 
'''Private''' inst As Pointer
 
'''Private''' mp As Pointer
 
 
 
Library "libvlc:5.3.2"
 
 
<FONT color=gray>' ''libvlc_instance_t * libvlc_new (int argc, const char *const *argv)''
 
' ''Create And initialize a libvlc instance.''</font>
 
'''Private''' Extern libvlc_new(argc As Integer, argv As String) As Pointer
 
 
<FONT color=gray>' ''libvlc_media_t * libvlc_media_new_path (libvlc_instance_t *p_instance, const char *path)''
 
' ''Create a media for a certain Midi file path.''</font>
 
'''Private''' Extern libvlc_media_new_path(p_instance As Pointer, path As String) As Pointer
 
 
<FONT color=gray>' ''libvlc_media_player_t * libvlc_media_player_new_from_media (libvlc_media_t *p_md)''
 
' ''Create a Media Player object from a Media.''</font>
 
'''Private''' Extern libvlc_media_player_new_from_media(p_md As Pointer) As Pointer
 
 
<FONT color=gray>' ''int libvlc_media_player_play (libvlc_media_player_t * p_mi)''
 
' ''Play the Midi file.''</font>
 
'''Private''' Extern libvlc_media_player_play(p_mi As Pointer) As Integer
 
 
<FONT color=gray>' ''void libvlc_media_player_stop (libvlc_media_player_t * p_mi)''
 
' ''Stop the Midi file''</font>
 
'''Private''' Extern libvlc_media_player_stop(p_mi As Pointer)
 
 
<FONT color=gray>' ''void libvlc_media_player_release (libvlc_media_player_t * p_mi)''
 
' ''Release a media_player after use Decrement the reference count of a media player object.''</font>
 
'''Private''' Extern libvlc_media_player_release(p_mi As Pointer)
 
 
<FONT color=gray>' ''libvlc_release (libvlc_instance_t * p_instance)''
 
' ''Decrement the reference count of a libvlc instance, and destroy it if it reaches zero.''</font>
 
'''Private''' Extern libvlc_release(p_instance As Pointer)
 
 
 
'''Public''' Sub Button1_Click()
 
 
  Dim m As Pointer
 
 
 
   
 
<FONT color=gray>' ''Inizializza la libreria VLC:''</font>
 
    inst = libvlc_new(0, Null)
 
   
 
<FONT color=gray>' ''Crea un nuovo oggetto multimedia:''</font>
 
    m = libvlc_media_new_path(inst, "''/percorso/del/file/Midi''")
 
   
 
<FONT color=gray>' ''Crea un media player:''</font>
 
    mp = libvlc_media_player_new_from_media(m)
 
   
 
  <FONT color=gray>' ''Avvia l'esecuzione del file Midi da parte del media player:''</font>
 
    libvlc_media_player_play(mp)
 
 
'''End'''
 
 
 
'''Public''' Sub Button2_Click()
 
 
<FONT color=gray>' ''Arresta l'esecuzione del file Midi:''</font>
 
    libvlc_media_player_stop(mp)
 
 
<FONT color=gray>' ''Rilascia e chiude il media player:''</font>
 
    libvlc_media_player_release(mp)
 
   
 
<FONT color=gray>' ''Chiude la libreria VLC:''</font>
 
    libvlc_release(inst)
 
 
'''End'''
 
 
 
 
 
 
 
 
 
=Riferimenti=
 
* Il sito del [http://www.videolan.org/developers/vlc/doc/doxygen/html/index.html API di LibVLC].
 
* [https://wiki.videolan.org/Midi Videolan Wiki - Midi]
 

Versione attuale delle 12:17, 13 ago 2019