Sub PlaySoundFromMem(abpic() as Byte 'твой массив со звуком)
Dim nLow As Long
Dim cbMem As Long
Dim hMem As Long
Dim lpMem As Long
On Error GoTo Out
nLow = LBound(abpic)
On Error GoTo 0
cbMem = (UBound(abpic) - nLow) + 1
hMem = GlobalAlloc(GMEM_MOVEABLE, cbMem)
If hMem Then
lpMem = GlobalLock(hMem)
If lpMem Then
MoveMemory ByVal lpMem, abpic(nLow), cbMem
Call GlobalUnlock(hMem)
PlaySound lpMem, 0&, &H4 Or &H1
End If
'GlobalFree hMem
End If
End Sub
цепочки байт, которая является звуковым потоком.
Kiryusha писал(а):Тогда кову есть еще вопрос что есть MoveMemory??? чета я не нашел такой API у себя не мог бы кинуть описание...
Dim curPos As Long
Dim curs As DSCURSORS
Dim dataBuf() As Byte
Dim dataSize As Long
objDSCaptureBuffer.GetCurrentPosition curs
curPos = curs.lWrite
dataSize = curPos - lastPos
If dataSize < 0 Then
dataSize = (CaptureDesc.lBufferBytes - lastPos) + curPos
End If
ReDim dataBuf(dataSize - 1)
objDSCaptureBuffer.ReadBuffer lastPos, dataSize, dataBuf(0), DSCBLOCK_DEFAULT
Put #1, , dataBuf
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9