Differenze tra le versioni di "Ottenere alcune informazioni di un CD con le funzioni del API di libcdaudio"

Da Gambas-it.org - Wikipedia.
(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...')
(Nessuna differenza)

Versione delle 18:08, 24 ago 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:

  • 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