Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/*==========================================================================
* * Copyright (C) 1999 Microsoft Corporation. All Rights Reserved. * * File: dsplayd.h * Content: Definition of the CDirectSoundPlaybackDevice class * * History: * Date By Reason * ==== == ====== * 07/16/99 rodtoll Created * 07/30/99 rodtoll Updated to allow creation of object using a pre-created * DirectSound Object. * 08/04/99 rodtoll Added member to retrieve DirectSound object * 11/01/99 rodtoll Updated to conform to new interface * 11/12/99 rodtoll Modified abstraction for new waveOut support. * Now abstracted types look almost like dsound objects * 12/01/99 rodtoll Bug #121815 - Static in playback/record * Added implementations of Set/GetMixerQuality * (For Win2k/Millenium/Systems w/DX7) * rodtoll Cleanup of class * 01/27/2000 rodtoll Updated sound classes to accept playback flags, * buffer structures and DSBUFFERDESC instead of DSBUFFERDESC1 * 02/17/2000 rodtoll Updated so primary buffer is held instead of released immediately * 04/04/2001 rodtoll WINBUG #343428 - DPVOICE: Voice wizard's playback is very choppy. * ***************************************************************************/
#ifndef __DIRECTSOUNDPLAYBACKDEVICE_H
#define __DIRECTSOUNDPLAYBACKDEVICE_H
class CDirectSoundPlaybackDevice;
// CDirectSoundPlaybackDevice
//
// This class is responsible for providing an implementation of the
// CAudioPLaybackDevice class for DirectSound. A single instance
// of this class represents a DirectSound playback device and
// is used to initialize the sound device and act as a class
// factory for CAudioPlaybackBuffers for the DirectSound
// sub-system.
//
class CDirectSoundPlaybackDevice: public CAudioPlaybackDevice { public: CDirectSoundPlaybackDevice( );
virtual ~CDirectSoundPlaybackDevice();
public: // Initialization
HRESULT Initialize( const GUID &guidDevice, HWND hwndOwner, WAVEFORMATEX *primaryFormat, BOOL fPriorityMode ); HRESULT Initialize( LPDIRECTSOUND lpDirectSound, const GUID &guidDevice );
BOOL IsEmulated() { return m_fEmulated; }; HRESULT CreateBuffer( LPDSBUFFERDESC lpdsBufferDesc, DWORD dwFrameSize, CAudioPlaybackBuffer **lpapBuffer ); LPDIRECTSOUND GetPlaybackDevice();
HRESULT GetMixerQuality( DIRECTSOUNDMIXER_SRCQUALITY *psrcQuality ); HRESULT SetMixerQuality( const DIRECTSOUNDMIXER_SRCQUALITY srcQuality ); protected:
HRESULT CheckAndSetEmulated( ); LPDIRECTSOUND m_lpdsDirectSound; // DirectSound object associated w/this object
LPDIRECTSOUNDBUFFER m_lpdsPrimaryBuffer; HWND m_hwndOwner; GUID m_guidDevice; BOOL m_fEmulated; };
#endif
|