x
Yes
No
Do you want to visit DriveHQ English website?
Inicio
Características
Precios
Prueba gratuita
Software cliente
Acerca de nosotros
Servidor de archivos
|
Solución de copias de seguridad
|
Servidor FTP
|
Servidor de correo electrónico
|
Alojamiento web
|
Software cliente
Servidor de archivos
Solución de copia de seguridad
Servidor FTP
Servidor de correo electrónico
Alojamiento web
Software cliente
SDKsound.h - Hosted on DriveHQ Cloud IT Platform
Arriba
Subir
Descargar
Compartir
Publicar
Nueva carpeta
Nuevo archivo
Copiar
Cortar
Eliminar
Pegar
Clasificación
Actualizar
Ruta de la carpeta: \\game3dprogramming\materials\DarkPuzzle\DXUT\Optional\SDKsound.h
Girar
Efecto
Propiedad
Historial
//----------------------------------------------------------------------------- // File: DXUTsound.h // // Copyright (c) Microsoft Corp. All rights reserved. //----------------------------------------------------------------------------- #ifndef DXUTSOUND_H #define DXUTSOUND_H //----------------------------------------------------------------------------- // Header Includes //----------------------------------------------------------------------------- #include
//----------------------------------------------------------------------------- // Classes used by this header //----------------------------------------------------------------------------- class CSoundManager; class CSound; class CStreamingSound; class CWaveFile; //----------------------------------------------------------------------------- // Typing macros //----------------------------------------------------------------------------- #define DXUT_StopSound(s) { if(s) s->Stop(); } #define DXUT_PlaySound(s) { if(s) s->Play( 0, 0 ); } #define DXUT_PlaySoundLooping(s) { if(s) s->Play( 0, DSBPLAY_LOOPING ); } //----------------------------------------------------------------------------- // Name: class CSoundManager // Desc: //----------------------------------------------------------------------------- class CSoundManager { protected: IDirectSound8* m_pDS; public: CSoundManager(); ~CSoundManager(); HRESULT Initialize( HWND hWnd, DWORD dwCoopLevel ); inline LPDIRECTSOUND8 GetDirectSound() { return m_pDS; } HRESULT SetPrimaryBufferFormat( DWORD dwPrimaryChannels, DWORD dwPrimaryFreq, DWORD dwPrimaryBitRate ); HRESULT Get3DListenerInterface( LPDIRECTSOUND3DLISTENER* ppDSListener ); HRESULT Create( CSound** ppSound, LPWSTR strWaveFileName, DWORD dwCreationFlags = 0, GUID guid3DAlgorithm = GUID_NULL, DWORD dwNumBuffers = 1 ); HRESULT CreateFromMemory( CSound** ppSound, BYTE* pbData, ULONG ulDataSize, LPWAVEFORMATEX pwfx, DWORD dwCreationFlags = 0, GUID guid3DAlgorithm = GUID_NULL, DWORD dwNumBuffers = 1 ); HRESULT CreateStreaming( CStreamingSound** ppStreamingSound, LPWSTR strWaveFileName, DWORD dwCreationFlags, GUID guid3DAlgorithm, DWORD dwNotifyCount, DWORD dwNotifySize, HANDLE hNotifyEvent ); }; //----------------------------------------------------------------------------- // Name: class CSound // Desc: Encapsulates functionality of a DirectSound buffer. //----------------------------------------------------------------------------- class CSound { protected: LPDIRECTSOUNDBUFFER* m_apDSBuffer; DWORD m_dwDSBufferSize; CWaveFile* m_pWaveFile; DWORD m_dwNumBuffers; DWORD m_dwCreationFlags; HRESULT RestoreBuffer( LPDIRECTSOUNDBUFFER pDSB, BOOL* pbWasRestored ); public: CSound( LPDIRECTSOUNDBUFFER* apDSBuffer, DWORD dwDSBufferSize, DWORD dwNumBuffers, CWaveFile* pWaveFile, DWORD dwCreationFlags ); virtual ~CSound(); HRESULT Get3DBufferInterface( DWORD dwIndex, LPDIRECTSOUND3DBUFFER* ppDS3DBuffer ); HRESULT FillBufferWithSound( LPDIRECTSOUNDBUFFER pDSB, BOOL bRepeatWavIfBufferLarger ); LPDIRECTSOUNDBUFFER GetFreeBuffer(); LPDIRECTSOUNDBUFFER GetBuffer( DWORD dwIndex ); HRESULT Play( DWORD dwPriority = 0, DWORD dwFlags = 0, LONG lVolume = 0, LONG lFrequency = -1, LONG lPan = 0 ); HRESULT Play3D( LPDS3DBUFFER p3DBuffer, DWORD dwPriority = 0, DWORD dwFlags = 0, LONG lFrequency = 0 ); HRESULT Stop(); HRESULT Reset(); BOOL IsSoundPlaying(); }; //----------------------------------------------------------------------------- // Name: class CStreamingSound // Desc: Encapsulates functionality to play a wave file with DirectSound. // The Create() method loads a chunk of wave file into the buffer, // and as sound plays more is written to the buffer by calling // HandleWaveStreamNotification() whenever hNotifyEvent is signaled. //----------------------------------------------------------------------------- class CStreamingSound : public CSound { protected: DWORD m_dwLastPlayPos; DWORD m_dwPlayProgress; DWORD m_dwNotifySize; DWORD m_dwNextWriteOffset; BOOL m_bFillNextNotificationWithSilence; public: CStreamingSound( LPDIRECTSOUNDBUFFER pDSBuffer, DWORD dwDSBufferSize, CWaveFile* pWaveFile, DWORD dwNotifySize ); ~CStreamingSound(); HRESULT HandleWaveStreamNotification( BOOL bLoopedPlay ); HRESULT Reset(); }; #endif // DXUTSOUND_H
SDKsound.h
Dirección de la página
Dirección del archivo
Anterior
27/29
Siguiente
Descargar
( 4 KB )
Comments
Total ratings:
0
Average rating:
No clasificado
of 10
Would you like to comment?
Join now
, or
Logon
if you are already a member.