Example #1
0
//=========F U N K T I O N E N ==================================================================
// Initialisiert alle Sound Buffer von SoundArray[]
int GlobalSoundInit(void)
{  
	  if (MakeSoundBuffer("sound.wav", &SoundArray[1]))
	  {
			MessageBox(NULL, "Error", "CreateSoundBuffer()", NULL);
			return 1;
	  }
	  if (MakeSoundBuffer("game.wav", &SoundArray[2]))
	  {
			MessageBox(NULL, "Error", "CreateSoundBuffer()", NULL);
			return 1;
	  }

	return 0;
}
Example #2
0
IDirectSoundBuffer *DSLoadSoundBuffer(IDirectSound *pDS, char *lpName , DWORD dwFlags )
#endif
{
    IDirectSoundBuffer *pDSB = NULL;
    DSBUFFERDESC dsBD = {0};
    BYTE *pbWaveData;
    void * Buffer = NULL;

    if (Buffer = DSGetWave(lpName, &dsBD.lpwfxFormat, &pbWaveData, &dsBD.dwBufferBytes))
    {
        dsBD.dwSize = sizeof(dsBD);
        dsBD.dwFlags = dwFlags ;

        if ( MakeSoundBuffer( pDS, &dsBD, &pDSB, NULL ) )
        {
            if (!DSFillSoundBuffer(pDSB, pbWaveData, dsBD.dwBufferBytes))
            {
                SoundBufferRelease(&pDSB);
                pDSB = NULL;
            }
        }
        else
        {
            pDSB = NULL;
        }
    }

    if( Buffer != NULL )
        free( Buffer );
    return pDSB;
}
Example #3
0
IDirectSoundBuffer *DSLoadCompoundSoundBuffer(IDirectSound *pDS, DWORD dwFlags, int *num_allocated_ptr )
#endif
{
    IDirectSoundBuffer *pDSB = NULL;
    DSBUFFERDESC dsBD = {0};
    BYTE *pbWaveData;
    void * Buffer = NULL;
    WAVEFORMATEX format;

    if (Buffer = DSGetMultiWave(&format, &pbWaveData, &dsBD.dwBufferBytes, dwFlags, num_allocated_ptr))
    {
        dsBD.dwSize = sizeof(dsBD);
        dsBD.dwFlags = dwFlags;

        dsBD.lpwfxFormat = &format;

        if ( MakeSoundBuffer( pDS, &dsBD, &pDSB, NULL ) )
        {
            if (!DSFillSoundBuffer(pDSB, Buffer, dsBD.dwBufferBytes))
            {
                SoundBufferRelease(&pDSB);
                pDSB = NULL;
            }
        }
    }

    if( Buffer != NULL )
        free( Buffer );
    return pDSB;
}
Example #4
0
IDirectSoundBuffer *DSLoad3DSoundBuffer(IDirectSound *pDS, char *lpName, IDirectSound3DBuffer ** lpDirectSound3DBuffer, DWORD dwflags )
{
#if 0
    IDirectSoundBuffer *pDSB = NULL;
    DSBUFFERDESC dsBD = {0};
    BYTE *pbWaveData;
    void * Buffer = NULL;

    dsBD.dwSize = sizeof(dsBD);
    dsBD.dwFlags = dwflags;

    if ( Buffer = DSGetWave(lpName, &dsBD.lpwfxFormat, &pbWaveData,
                        &dsBD.dwBufferBytes))
    {
        if ( MakeSoundBuffer( pDS, &dsBD, &pDSB, NULL ) )
        {
            if (DS_OK==IDirectSoundBuffer_QueryInterface(pDSB, &IID_IDirectSound3DBuffer, (void **)lpDirectSound3DBuffer))        
            {
                if (!DSFillSoundBuffer(pDSB, pbWaveData, dsBD.dwBufferBytes))
                {
                    SoundBufferRelease(&pDSB);
                    pDSB = NULL;
                }
            }
        }
        else
        {
            pDSB = NULL;
            lpDirectSound3DBuffer = NULL;
        }
    }
    
    if( Buffer != NULL )
        free( Buffer );
    return pDSB;
#endif
    return NULL;
}