Visualizzare la forma d'onda di un file WAV
Da Gambas-it.org - Wikipedia.
Versione del 23 feb 2014 alle 12:10 di Vuott (Discussione | contributi) (Creata pagina con 'E' possibile visualizzare, seppur in modo approssimativo, con le sole funzioni di Gambas la forma d'onda di un file audio WAV. Nell'esempio che segue si supporrà che il fil...')
E' possibile visualizzare, seppur in modo approssimativo, con le sole funzioni di Gambas la forma d'onda di un file audio WAV.
Nell'esempio che segue si supporrà che il file sia a due canali e a 16bit. Porremo inoltre sul Form una DrawingArea:
Private fl As File Private fileWAV As String Private ini As Integer Public Sub Form_Open() With Me .W = Desktop.W .H = Desktop.H End With With DrawingArea1 .W = Desktop.W .H = Desktop.H End With fileWAV = "/percorso/del/file.wav" fl = Open fileWAV For Read ini = Val(InputBox("Inserire il byte iniziale:")) End Public Sub DrawingArea1_Draw() Dim d, sh As Short Dim i, ii, r, v As Integer d = InStr(File.Load(fileWAV), "data") If ini And 1 Then ini += 1 ' Ci si sposta al byte impostato dei dati audio grezzi: Seek #fl, ini + (d + 7) For i = 0 To 9999 Read #fl, sh If sh = 0 Then ii = 1 If sh < 0 Then ii = sh / 10 If sh > 0 Then ii = sh / 10 If sh > 0 Then v = ii r = 1 Else v = 1 r = ii Endif With Paint .Begin(DrawingArea1) .Brush = Paint.Color(Color.RGB(r, v, 0)) .MoveTo(i, 400) .RelLineTo(0, ii) .Stroke .End End With Next Print "\nLetti in totale "; Seek(fl); " byte" End