Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Помогите разобраться с waveOut'ом Добавлено: 05.04.05 22:28  

Автор вопроса:  Страшный Сон
Есть у меня следующие объявления:

Public Declare Function waveOutWrite Lib "winmm.dll" (ByVal hWaveOut As Long, lpWaveOutHdr As WAVEHDR, ByVal uSize As Long) As Long
Public Type WAVEHDR
  lpData As String
  dwBufferLength As Long
  dwBytesRecorded As Long
  dwUser As Long
  dwFlags As Long
  dwLoops As Long
  lpNext As Long
  Reserved As Long
End Type

Нужно заставить это дело работать. Кто-нибудь подскажет?

Ответить

  Ответы Всего ответов: 4  

Номер ответа: 1
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #1
Добавлено: 06.04.05 13:02
Основная проблема, наверно, с lpData As String? Попробуй поместить там lpData as long, и присвоить ему указатель на байтовый массив, где хранятся твои данные

Ответить

Номер ответа: 2
Автор ответа:
 Sur



ICQ: 1249088 

Вопросов: 10
Ответов: 304
 Web-сайт: sur.hotbox.ru/
 Профиль | | #2
Добавлено: 06.04.05 13:56
тут хороший топик по этому делу, но все же решили, что лучше DirectSound...
http://www.developerfusion.com/forums/topic-14635

Ответить

Номер ответа: 3
Автор ответа:
 Страшный Сон



Вопросов: 46
Ответов: 848
 Профиль | | #3 Добавлено: 06.04.05 21:46
Нашел я в этом топике только пример с проигрыванием звукового файла. А мне нужно из массива типа Integer (16-битный звук).

Ответить

Номер ответа: 4
Автор ответа:
 Z_of_X



ICQ: 997550 

Вопросов: 5
Ответов: 18
 Профиль | | #4 Добавлено: 16.07.05 02:38
Я наверное припозднился, но вот куски из моей проги, кому надо обращайтесь - попробую помочь с wavIn и out, я вродеб разобрался.



Вот такое должно быть описание типа
Public Type WAVEHDR
     lpData As Long
     dwBufferLength As Long
     dwBytesRecorded As Long
     dwUser As Long
     dwFlags As Long
     dwLoops As Long
     lpNext As Long
     Reserved As Long
End Type

dim DATA() as Byte - сами данные, потом просто редимом хернуть их и все ОК
Dim DataLen as Long - это размер данных

Dim WaveH as WAVEHDR

    With WaveH
        .lpData = VarPtr(DATA(0))
        .dwBufferLength = DATAlen
        .dwFlags = 0
    End With

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам