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

(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)

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



Riferimenti