Из wav файла вывести график на форму - VB
Формулировка задачи:
Очень нужна помощь, на форме есть кнопки нужно чтобы по нажатию кнопки выводился график из wav файла. файл примерно длительностью 1 сек (не важно вообщем то какой). главное чтобы выводился график и чтобы на нем можно было смотреть значения, если он при этом еще и динамический будет то вообще идеально.
Решение задачи: «Из wav файла вывести график на форму»
textual
Листинг программы
Option Explicit Dim a As Integer: Dim i As Long: Dim xl As Long: Dim yl As Long: Dim x1l As Long Dim y1l As Long: Dim xp As Long: Dim yp As Long: Dim x1p As Long: Dim y1p As Long Dim dat As Long: Dim b As Long: Dim filename As String Private Sub Command1_Click() 'Функция рисования графика Cls 'Чистим экран filename = Text1.Text If Dir(filename) = "" Then MsgBox "Файл не найден!": Exit Sub Open filename For Binary As #1 ' Открываем звуковой файл dat = 0: b = 1 sdf: Get #1, b, dat If dat = &H61746164 Then GoTo qwert b = b + 4: GoTo sdf qwert: xl = 0: yl = 0: xp = 0: yp = 0 For i = 0 To FileLen(filename) Step 4 Get #1, i + b + 4, a 'Читаем из файла одно значение левого стереоканала x1l = Int(Form1.Width / FileLen(filename) * i) y1l = Int(Form1.Height / 65536 * (32768 + a)) Line (xl, yl)-(x1l, y1l), vbBlue ' Рисуем синюю линию от предыдущего к текущему значению ' левого стереоканала xl = x1l yl = y1l Get #1, i + b + 6, a 'Читаем из файла одно значение правого стереоканала x1p = Int(Form1.Width / FileLen(filename) * i) y1p = Int(Form1.Height / 65536 * (32768 + a)) Line (xp, yp)-(x1p, y1p), vbRed ' Рисуем красную линию от предыдущего к текущему значению ' правого стереоканала xp = x1p yp = y1p DoEvents Next i Close #1 ' Закрываем звуковой файл End Sub Private Sub Command2_Click() 'Функция очистки формы Cls End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д