Come creare Saluto dati dai buffer in VB6

March 3

Come creare Saluto dati dai buffer in VB6


In VB6, è possibile utilizzare DirectX per creare applicazioni audio, video e grafica di Windows. Il DirectX SDK è gratuitamente dal sito Microsoft. L'oggetto DirectSound è l'oggetto principale del dispositivo audio. Può essere utilizzato per effetti sonori nei giochi, e può gestire più suoni contemporaneamente. Controllare il sistema audio attraverso DirectSound come panning e volume. In VB6, è possibile creare un progetto per leggere i dati del buffer in un file WAV attraverso gli oggetti DirectX.

istruzione

1 Fare clic su "Start", "Tutti i programmi" e "Visual Basic" per aprire VB6. Fai clic su "File" e "Nuovo" per creare un nuovo progetto. Inserire un nome per il progetto. Specificare una posizione per i file di progetto.

2 Fai clic su "Progetto" e "Riferimenti" per aggiungere di riferimento DirectX per il progetto. Tick ​​"DirectX 8 per Visual Basic Type Library" sull'interfaccia "Riferimenti". Fai clic su "OK".

3 Definire le variabili per il progetto. Aggiungere il seguente codice al Form1.vb:
dx fioco come nuovo DirectX8
Dim ds As DirectSound8
Dim buffer1 Come DirectSoundSecondaryBuffer8
Dim buffer2 Come DSBUFFERDESC

4 Inizializzare DirectSound tramite il codice:
Set dx = Nuovo DirectX8
Set DS = dx.DirectSoundCreate ( "")

5 Creare un buffer tramite il codice:
Buffer2.fxFormat.nFormatTag = WAVE_FORMAT_PCM
Buffer2.fxFormat.nSize = 0
Buffer2.fxFormat.lExtra = 0
Buffer2.fxFormat.nChannels = 1
Buffer2.fxFormat.lSamplesPerSec = SRATE
Buffer2.fxFormat.nBitsPerSample = 16
Buffer2.fxFormat.nBlockAlign = 2
Buffer2.fxFormat.lAvgBytesPerSec = 2

SRATE
Buffer2.lFlags = 0
Buffer2.lBufferBytes = 2 * DUR SRATE
Set dsToneBuffer = DS.CreateSoundBuffer (buffer2)

6 Creare un tono e scrivere dsToneBuffer:
I Dim
Per i = 0 Per DUR * SRATE

sbuf(i) = 10000 * Sin(2 * PI * FREQ * i / SRATE)

Next i
dsToneBuffer.WriteBuffer 0, 2

DUR SRATE, SBUF (0), DSBLOCK_DEFAULT

7 Scrivere i dati del buffer in un file WAV:
DS.CreateSoundBufferToFile (App.Path & "\ my.wav", dsToneBuffer)