Differenze tra le versioni di "Ottenere alcune informazioni di un CD con le funzioni del API di libcdaudio"
Da Gambas-it.org - Wikipedia.
Riga 5: | Riga 5: | ||
Mostriamo un semplice codice che consentirà di conoscere le seguenti informazioni: | Mostriamo un semplice codice che consentirà di conoscere le seguenti informazioni: | ||
− | * | + | * presenza di un CD audio nel lettore CD; |
− | * | + | * durata del CD audio; |
− | * | + | * numero delle tracce audio presenti; |
* durata di ciascuna traccia audio. | * durata di ciascuna traccia audio. | ||
Public Struct track_info | Public Struct track_info |
Versione attuale delle 18:28, 4 set 2014
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:
- presenza di un CD audio nel lettore CD;
- durata del CD audio;
- numero delle tracce audio presenti;
- durata di ciascuna traccia audio.
Public Struct track_info track_length_minutes As Integer track_length_seconds As Integer track_length_frames As Integer track_pos_minutes As Integer track_pos_seconds As Integer track_pos_frames As Integer track_lba As Integer track_type As Integer End Struct Public Struct disco_info disc_present As Integer disc_mode As Integer disc_track_time_minutes As Integer disc_track_time_seconds As Integer disc_track_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 disc_track[100] As Struct Track_info 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 Dim t As Byte d = cd_init_device("/dev/cdrom") If d < 0 Then Error.Raise("File-device del 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 For t = 1 To disco.disc_total_tracks Print "Durata della traccia n. "; t; " = "; disco.disc_track[t - 1].track_length_minutes & "' " & disco.disc_track[t - 1].track_length_seconds & "\"" Next Else Print "Disco non presente nel lettore CD, oppure, se presente, NON è un CD audio !" Endif cd_close(d) End