Страница: 1 |
Страница: 1 |
Вопрос: DirectX8-DirectSound DS.CreateSoundBuffer
Добавлено: 26.09.07 17:21
Автор вопроса: KreAtoR
если кто разбирается, ну или может помочь. посмотрите этот пример. Проблема у меня при создании Буффера. могу воспроизвести файлб но немогу создать буфер и не могу создать буфер из ресурса. Помогите плиз
hIa3m6Fc5+AyEQk++1E++++++++1rKrEUY1g++EI++-sF+++0y9BQsJRsCXQR
hAlM+6++++2F7IYJ1J3BDJIt2C3l4Pr7hAGtaQao+g2-9H+k-IEmBHwq-KxuZ
hTkvFskbORRMRYWZeIw+MrqWc1RSgUF870MnE5MlgH4HsLzpJpYgc11TUqDKl
hVqRhLTBy1UxnaT5aNavgzAtxxnCOiNWrSNnaPWp9Rxip7M3VGqRobc6TXy3M
hCBdkvhf5dijNHVyeNqhHjMFMnDhCuuobgzm8-2x01HPEL5zq0pXmDk5t6TcU
hMYgVlDm9jIOWLRn4BbcuHIRpf0zYUHeumd9CqTk2gBAwG2UAgBVYUzdgF76q
hdPP+ykwzQn8itqWHcFPoXaqDQkiyKTsWHuVg3V6BrZYWvZmWpuqVxwGeneef
hP5cIjr39+kR0+aFNdedoxAOOEjR8IuW2-LMkK6T+ySZxuHSPlYrRSxT42HdH
htT6fwGQyfB6dQtQo1pB1kTj2pcEReRG1l7uevabag4u+6djrvP4LzTgYhQZ7
hDaqvUMP42-aMN47HpPC4M5FrSADvRay8bJU4t-ZhULwgMRA9jO7cF9nnCv9s
hN42QNscIxV-KqaKbmdCNHKCukAKMf7OPonsd+KbAEgsrm8fydueCua6NheRz
hbuDbJQCoiiow9xLXiiG1dDngEpsvh+WM5AylpR4zz3mlLqKnWlSpmtX2qj5-
hPoBhZyiAgUUz2v3Z8IfI2TpvvhWrLIiUvvEQ9H5T3aQRSJy7Awj3pv5irlby
hH5XEsfMfL2ooZfuOmZeMrVpX0-rED-f3W0xECti1HHSRmdhBn8SzyzC3nzSq
hwCFJUtxMDAVsGbfrVYlP1tFqDiiQ0UUYeQXOxQYM9lP6Ywk+fH-cBER5jFSV
hMobZN41W7lwVIfYIk3g3fdEVHgQl-YSG5NVe5YheEluvJvIYp3fJJR8x6Aqg
hNRVhdpVn2v2ofWkBVE4splg+B4+vMVdwPrcwtEM+Xlp3QrPRTmPw8RyfLj5w
hAy3fSclNKFAev0jYYX8FsDQ9cfg1jzXYOyKFvueBcoEXYMQQ0rb25e4OvM4A
hiNgCRI9keE2YuCWaUUOhJcSG7G0F+eTJuiqunsJKqgMyN-Xby5+hzaRpajaf
hssurcyMydg4T0IrXLe-fyVkJ32si0gVD43G8i1-z3tlJbv7skamqq2Uoo7kF
h7hEe64f8PP4AOaChx4ee0yAzfKc8dJtq4mJq5TT2dcbZfB8jh3LCChrAAISH
hQ+FJ+jJKLjpoYuhmmiHYR5PRe2vPu00VrSs-m3f1pbLqdMkjGr4vaBVuSie-
h-V3R40-hJD2+Wv0X15frOe4m5qqnfEHwZrN8Y7D1XNjefK3DOLvXOL+yVVg3
hBR3ROmagZ1GZPFvXZ5dG-KfPauLOdNiKYiFK6iMBPLLcTEbTYRHbv9ke5Pze
hReT9vgMdL2PDwEWyE7ZsFHK+Gkc24n+-4l4OaaJUmJ6ZlsM47IrMZW7W56IX
hfZMPIcYKiSZ2kYCSYESge6zj7O0FXUU-4tvdYSi8EicdvUYsyM9vEaspWWDc
hfoXd0dykT2T7fzkTYOtFcI8ITJ8ZEC8l4YPwIJXmTsx0z0hafrTKmx9q0fsj
hxP4T0DA8lWWpXsyyTv7CyDAY8DVvYoSLgWl-dll1q3e2c2CGXxisytrAvTQF
hxwFXH6YaPCYyzctFmM09raHHpstf1L7oplutft5xnteUUSPJamccfMhzDVW2
hoXS0RiAOIlks0nbcwt1Fvsc1qvPxllhpX1FV0QN3jMYsCHSabSsr-JDxCaQ5
hWMqHaiX+yy8jvMTKR00EDU1B+E++j+6+++9FVY9CJrUuBlon4E+U++++F2ZG
hFIBIIoxJHYEsL3-mPqdZOrEl9bNWQ+1k8bIJ1RYEnAnx5-3vo0y1cBwN8+q0
hYo63S1sG7BGA-hBWiJmw5l8G8Y9VG80FHzWoLrSUBpidcZYdGiWnkV+XQn-d
hCvwj5wrBnFiwAr+Drk4S+Ns-svNFLw4kLly5o328MIY3CyKXjz+C6k-aw0s1
hRKQBzqbxtbgzBhWu0rlPhrFoywg9naHmnO7xgtVFra8EO2d-J6AFyrYlM3iq
hUlMka4KHryb+ikjkAgL4g5nNiIdlSYh+OsFyKLKq4yk3vSLrQEv4hHxq2V9P
hUnjE4ymnGoFNZgstu+YKvUnXUKJjmq6PwkNhe0LSLFrpQ5SWreTaBmMp2hyp
hKrOt+qXF4gY7rSF7Gw4B4Rf9ALG9pAePk2GKcIVzxVg9aw0muZHhfzDn4K2J
hXSACYtyTbbTLHKCHRU8-qd1OEbqIcJsN62RbZCZvBtjtOiBaEb9JIncneneR
hJseLKG8p0agYhBX5xzyPR1eefZHoloFdnneB5pqLu4AslOr-DoSNw6WeQS9q
hY4YFYwp7vWoQxNqzEI5fLqosL2EijckuH8KdFjwhn1bu6ygYmfUcLQhSVIJJ
hURQO6H0J7M+Q-lf8z5otw-VFPBYTodzTeOlVqD6tTroJYguWJybSkrEUY1s+
hAU+++16++++0ufjfRZpICXQRA-Y+6++++2F7IYJ1J3BDJIt2C3lEQaxeNKho
hAGtqMbQ+wCPcGINjQaol61oUB1Eg61Is90+sCHMg61MpAmkUKWkUAX6g616t
h90+sBnEg61MqAGkUEko8LTNos7+l+++++++++++++U++++-LS1cr31+A+-++
O++-2GJ73EpFHHpJCF1U+w0dp3QExSk-+-k++
+
end
sum -r/size 56416/2051
Ответы
Всего ответов: 3
Номер ответа: 1
Автор ответа:
Mr.Smile
ICQ: 427682013
Вопросов: 14
Ответов: 464
Профиль | | #1
Добавлено: 26.09.07 19:56
Что-то твой архив (внутри который) не открывается!
Номер ответа: 2
Автор ответа:
KreAtoR
Вопросов: 120
Ответов: 438
Профиль | | #2
Добавлено: 27.09.07 12:48
незнаю у меня все открылось, кликнул два раза и все.
Номер ответа: 3
Автор ответа:
KreAtoR
Вопросов: 120
Ответов: 438
Профиль | | #3
Добавлено: 27.09.07 12:50
если всетаки не открывается
'On the Form1 command1.Name = comCap
' Command2.Name = comPlay
'Project Add DirectX 8
Private Const DC_QUID As String = vbNullString
Private Const DS_QUID As String = vbNullString
Private Const FILE As String = "C:\WINDOWS\Media\Windows XP-Startvorgang.wav"
Private Const BUFFER_FROM As String = "CreateSoundBuffer" 'CreateSoundBufferFromFile
'CreateSoundBuffer
'CreateSoundBufferFromResource
Private DX As New DirectX8
Private DS As DirectSound8
Private DC As DirectSoundCapture8
Private DSSB As DirectSoundSecondaryBuffer8
Private DSCB As DirectSoundCaptureBuffer8
Private DSD As DSBUFFERDESC
Private DCD As DSCBUFFERDESC
Private capFormat As WAVEFORMATEX
Dim curInfo As DSCURSORS
Private Sub InitDSCB()
Set DC = Nothing
Set DC = DX.DirectSoundCaptureCreate(DC_QUID)
With capFormat
.nFormatTag = WAVE_FORMAT_PCM
.nChannels = 2
.lSamplesPerSec = 44100
.nBitsPerSample = 16
.nBlockAlign = .nChannels * .nBitsPerSample / 8
.lAvgBytesPerSec = .lSamplesPerSec * .nBlockAlign
.nSize = 0
End With
With DCD
.fxFormat = capFormat
.lBufferBytes = capFormat.lAvgBytesPerSec * 20
.lFlags = DSCBCAPS_WAVEMAPPED
End With
Set DSCB = DC.CreateCaptureBuffer(DCD)
'DSCB.Start DSCBSTART_DEFAULT
End Sub
Private Sub InitDSSB()
Dim bytes() As Integer
'DSCB.Stop
Set DS = Nothing
Set DS = DX.DirectSoundCreate(DS_QUID)
 S.SetCooperativeLevel Me.hWnd, DSSCL_PRIORITY
With DSD
.lFlags = DSBCAPS_CTRLFREQUENCY Or DSBCAPS_CTRLPAN Or DSBCAPS_CTRLVOLUME
.lBufferBytes = curInfo.lWrite + 1
.fxFormat = DCD.fxFormat
End With
If BUFFER_FROM = "CreateSoundBuffer" Then
Set DSSB = DS.CreateSoundBuffer(DSD)
ReDim bytes(curInfo.lWrite)
 SCB.ReadBuffer 0, UBound(bytes), bytes(0), DSCBLOCK_DEFAULT
 SSB.WriteBuffer 0, UBound(bytes), bytes(0), DSBLOCK_DEFAULT
ElseIf BUFFER_FROM = "CreateSoundBufferFromFile" Then
Set DSSB = DS.CreateSoundBufferFromFile(FILE, DSD)
ElseIf BUFFER_FROM = "CreateSoundBufferFromResource" Then
Set DSSB = DS.CreateSoundBufferFromResource("", DC_QUID, DSD)
End If
'DSB.Play DSBPLAY_DEFAULT
End Sub
Private Sub comCap_Click()
If comCap.Caption = "Capture" Then
InitDSCB
 SCB.Start DSCBSTART_DEFAULT
comCap.Caption = "Stop"
comPlay.Enabled = False
ElseIf comCap.Caption = "Stop" Then
 SCB.Stop
comCap.Caption = "Capture"
comPlay.Enabled = True
End If
End Sub
Private Sub comPlay_Click()
If comPlay.Caption = "Play" Then
InitDSSB
 SSB.Play DSBPLAY_LOOPING
comPlay.Caption = "Stop"
comCap.Enabled = False
Else
 SSB.Stop
comPlay.Caption = "Play"
comCap.Enabled = True
End If
End Sub
Private Sub Form_Unload(Cancel As Integer)
Set DX = Nothing
Set DS = Nothing
Set DC = Nothing
Set DSSB = Nothing
Set DSCB = Nothing
End Sub
на форму две кнопки
comCap
comPlay
и подключить надо directX 8