Из wav файла вывести график на форму - VB

Узнай цену своей работы

Формулировка задачи:

Очень нужна помощь, на форме есть кнопки нужно чтобы по нажатию кнопки выводился график из wav файла. файл примерно длительностью 1 сек (не важно вообщем то какой). главное чтобы выводился график и чтобы на нем можно было смотреть значения, если он при этом еще и динамический будет то вообще идеально.

Решение задачи: «Из wav файла вывести график на форму»

textual
Листинг программы
  1. Option Explicit
  2. Dim a As Integer: Dim i As Long: Dim xl As Long: Dim yl As Long: Dim x1l As Long
  3. Dim y1l As Long: Dim xp As Long: Dim yp As Long: Dim x1p As Long: Dim y1p As Long
  4. Dim dat As Long: Dim b As Long: Dim filename As String
  5.  
  6. Private Sub Command1_Click() 'Функция рисования графика
  7. Cls 'Чистим экран
  8. filename = Text1.Text
  9. If Dir(filename) = "" Then MsgBox "Файл не найден!": Exit Sub
  10. Open filename For Binary As #1 ' Открываем звуковой файл
  11. dat = 0: b = 1
  12. sdf:
  13. Get #1, b, dat
  14. If dat = &H61746164 Then GoTo qwert
  15. b = b + 4: GoTo sdf
  16. qwert:
  17. xl = 0: yl = 0: xp = 0: yp = 0
  18. For i = 0 To FileLen(filename) Step 4
  19. Get #1, i + b + 4, a 'Читаем из файла одно значение левого стереоканала
  20. x1l = Int(Form1.Width / FileLen(filename) * i)
  21. y1l = Int(Form1.Height / 65536 * (32768 + a))
  22. Line (xl, yl)-(x1l, y1l), vbBlue ' Рисуем синюю линию от предыдущего к текущему значению
  23. ' левого стереоканала
  24. xl = x1l
  25. yl = y1l
  26. Get #1, i + b + 6, a 'Читаем из файла одно значение правого стереоканала
  27. x1p = Int(Form1.Width / FileLen(filename) * i)
  28. y1p = Int(Form1.Height / 65536 * (32768 + a))
  29. Line (xp, yp)-(x1p, y1p), vbRed ' Рисуем красную линию от предыдущего к текущему значению
  30. ' правого стереоканала
  31. xp = x1p
  32. yp = y1p
  33. DoEvents
  34. Next i
  35. Close #1 ' Закрываем звуковой файл
  36. End Sub
  37.  
  38. Private Sub Command2_Click() 'Функция очистки формы
  39. Cls
  40. End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.786 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы