In VB6 , è possibile utilizzare DirectX per creare applicazioni grafiche di Windows audio, video e . Il DirectX SDK è gratuito dal sito web di Microsoft . L'oggetto DirectSound è il principale oggetto dispositivo audio . Esso può essere utilizzato per effetti sonori nei giochi , e può gestire più suoni contemporaneamente. Controllare il sistema audio attraverso DirectSound come pan e il volume . In VB6 , è possibile creare un progetto per leggere i dati del buffer in un file WAV tramite gli oggetti di DirectX . Cose che ti serviranno
VB6
Mostra più istruzioni
1
clic su "Start ", " Tutti i programmi " e " Visual Basic " per aprire VB6 . Fare clic su "File" e "Nuovo" per creare un nuovo progetto . Immettere un nome per il progetto . Specificare una posizione per i file di progetto .
2
Clicca "Progetto" e "Riferimenti" per aggiungere DirectX riferimento per il progetto. Spunta " DirectX 8 per Visual Type Library di base " sull'interfaccia "Riferimenti" . Fare clic su " OK ".
3
Definire le variabili per il progetto . Aggiungere il seguente codice al Form1.vb : Dim dx As New DirectX8Dim ds Come DirectSound8Dim buffer1 Come DirectSoundSecondaryBuffer8Dim buffer2 Come DSBUFFERDESC
4
inizializzare DirectSound tramite codice : Set dx = New DirectX8Set ds = dx.DirectSoundCreate ( " " ) economici 5
creare un buffer tramite il codice : Buffer2.fxFormat.nFormatTag = WAVE_FORMAT_PCMBuffer2.fxFormat.nSize = 0Buffer2.fxFormat.lExtra = 0Buffer2.fxFormat.nChannels = 1Buffer2.fxFormat.lSamplesPerSec = SRATEBuffer2 . fxFormat.nBitsPerSample = 16Buffer2.fxFormat.nBlockAlign = 2Buffer2.fxFormat.lAvgBytesPerSec = 2 * SRATEBuffer2.lFlags = 0Buffer2.lBufferBytes = 2 * DUR * SRATESet dsToneBuffer = DS.CreateSoundBuffer ( buffer2 ) economici 6
creare un tono e scrivere dsToneBuffer : Dim IFOR i = 0 To DUR * SRATEsbuf ( i) = 10000 * sin ( 2 * pi * FREQ * i /SRATE ) Successivo idsToneBuffer.WriteBuffer 0 , 2 * DUR * SRATE , SBUF ( 0 ) , DSBLOCK_DEFAULT
7
Scrivi i dati del buffer in un file WAV : DS.CreateSoundBufferToFile ( App.Path & " \\ my.wav " , dsToneBuffer )