Differenze tra le versioni di "Creare il blocco d'intestazione di un file WAV"

Da Gambas-it.org - Wikipedia.
(Creata pagina con 'Il blocco di intestazione (''header'') di un file WAV è posto all'inizio del file, solitamente formato da 44 byte, e contiene le informazioni generali sui dati audio e sul fi...')
 
 
(19 versioni intermedie di uno stesso utente non sono mostrate)
Riga 1: Riga 1:
Il blocco di intestazione (''header'') di un file WAV è posto all'inizio del file, solitamente formato da 44 byte, e contiene le informazioni generali sui dati audio e sul file medesimo.
+
#REDIRECT [[Creare il blocco d'intestazione di un file WAV avendo dati audio grezzi]]
 
 
 
 
Nell'esempio che segue, supporremo che i dati audio grezzi, passati alla ''Procedura'' mediante una variabile di tipo ''Stringa'' come argomento, siano stati acquisiti in precedenza, e che si dovrà creare un completo nuovo file WAV unendo il corretto blocco d'intestazione (''header'') a tali dati grezzi.
 
'''Public''' Procedure (dati_grezzi As String)
 
 
  Dim fl As File
 
  Dim ini As String = "RIFF"
 
  Dim bh As Byte[] = [&57, &41, &56, &45, &66, &6D, &74, &20, &10, &00, &00, &00, &01, &00, &02, &00,
 
                      &44, &AC, &00, &00, &10, &B1, &02, &00, &04, &00, &10, &00, &64, &61, &74, &61]
 
  Dim bb As New Byte[]
 
  Dim i, i2 As Integer
 
 
 
  fl = Open "''/percorso/di/destinazione/del/nuovo/file.wav''" For Create
 
 
  bb = Byte[].FromString(ini)
 
 
  i = Len(dati_grezzi)
 
 
  i2 = i + 36
 
 
  bb.Add(i2 And &FF)
 
  bb.Add(Shr(i2 And &FF00&, 8))
 
  bb.Add(Shr(i2 And &FF0000&, 16))
 
  bb.Add(Shr(i2 And &FF000000&, 24))
 
 
 
  bb = bb.Insert(bh)
 
 
 
  bb.Add(i And &FF)
 
  bb.Add(Shr(i And &FF00&, 8))
 
  bb.Add(Shr(i And &FF0000&, 16))
 
  bb.Add(Shr(i And &FF000000&, 24))
 
   
 
  bb = bb.Insert(Byte[].FromString(dati_grezzi))
 
   
 
   
 
  bb.Write(fl, 0, bb.Count)
 
 
  fl.Close
 
 
'''End'''
 

Versione attuale delle 16:27, 13 set 2022