snd_buffer(SOUND* snd, void** pDesc, void*** ppSample)

Liest, verändert oder ersetzt einen Sound-Buffer zur Laufzeit. Läßt sich zum Abspielen eigener Sounds über den Sound-Player der Engine verwenden. A7.71  LC 

Parameter:

pDesc - Pointer, der auf den DSBUFFERDESC-Pointer des Sounds gesetzt ist. Läßt sich zum Lesen und Verändern des DSBUFFERDESC-Structs verwenden.
ppSample - Pointer der auf die Adresse des Sample-Buffer-Pointer des Sounds gesetzt ist. Läßt sich zum Lesen, Verändern oder freien Ersetzen des Sample-Buffers verwenden.

Geschwindigkeit:

Schnell

Remarks:

Beispiel (C++ oder lite-C):

DSBUFFERDESC *dsBufferDesc; // from DirectSound 8
byte** pSampleBuffer;
SOUND* oldsound = snd_create("#20"); // create a 20 seconds dummy sound
snd_buffer(oldsound,&dsBufferDesc,&pSampleBuffer);
// remove original sample
if (pSampleBuffer && *pSampleBuffer) sys_free(*pSampleBuffer);
// create and copy a new sample
byte* myNewSampleBuffer = (byte*)sys_malloc(myNewBufferLength);
memcpy(myNewSampleBuffer,mySoundData,myNewBufferLength);
// replace with new sample
*pSampleBuffer = myNewSampleBuffer;
dsBufferDesc->dwBufferBytes = myNewBufferLength;
memcpy(dsBufferDesc->lpwfxFormat,myNewWaveFormat,sizeof(WAVEFORMATEX));

Siehe auch:

SOUND, snd_create, snd_add

► latest version online