Ottenere alcune informazioni di un CD con le funzioni del API di libcdaudio
Da Gambas-it.org - Wikipedia.
Versione del 24 ago 2014 alle 18:08 di Vuott (Discussione | contributi) (Creata pagina con 'La libreria '''''Libcdaudio''''' consente il controllo dei CD audio. Per utilizzare le funzioni esterne del API di ''libcdaudio'' sarà necessario richiamare l'attuale librer...')
La libreria Libcdaudio consente il controllo dei CD audio.
Per utilizzare le funzioni esterne del API di libcdaudio sarà necessario richiamare l'attuale libreria: "libcdaudio.so.1.0.0"
Mostriamo un semplice codice che consentirà di conoscere le seguenti informazioni:
- se nel lettore CD è presente un CD audio;
- la durata del CD audio;
- il numero delle tracce audio presenti.
Public Struct disco_info disc_present As Integer disc_mode As Integer status_disc_time_minutes As Integer status_disc_time_seconds As Integer status_disc_time_frames As Integer disc_time_minutes As Integer disc_time_seconds As Integer disc_time_frames As Integer disc_length_minutes As Integer disc_length_seconds As Integer disc_length_frames As Integer disc_current_track As Integer disc_first_track As Integer disc_total_tracks As Integer inutil[200] As Integer End Struct Library "libcdaudio:1.0.0" ' int cd_init_device(char *device_name) ' Inizializza la libreria 'libcdaudio'. Private Extern cd_init_device(device_name As String) As Integer ' int cd_stat(int cd_desc, struct disc_info *disc) ' Ottiene informazioni generali sul CD inserito. Private Extern cd_stat(cd_desc As Integer, disc_Str As Disco_info) As Integer ' int cd_close(int cd_desc) ' Chiude la libreria. Private Extern cd_close(cd_desc As Integer) As Integer Public Sub Main() Dim d As Integer Dim disco As New Disco_info d = cd_init_device("/dev/cdrom") If d < 0 Then Error.Raise("File-Drive CD non trovato !") cd_stat(d, disco) If disco.disc_present = 1 Then Print "Il lettore CD contiene un disco audio.\n" Print "Durata del disco: "; disco.disc_length_minutes; "' "; disco.disc_length_seconds; "" Print "Numero tracce presenti: "; disco.disc_total_tracks Else Print "Il disco contenuto dal lettore NON è un CD audio !" Endif cd_close(d) End