mrsoundplayer.cpp

来自「Games programming all in one code chapte」· C++ 代码 · 共 62 行

CPP
62
字号
 /* 'mrSoundPlayer.cpp' */

 /* Complement header file */
#include "mrSoundPlayer.h"

 /* Singleton object */
mrSoundPlayer * mrSoundPlayer::m_pkSingleton = NULL;

 /* Default constructor */
mrSoundPlayer::mrSoundPlayer (void)
{
 m_lpkDSound = NULL;

 assert (!m_pkSingleton);
 m_pkSingleton = this;
}

 /* Default destructor */
mrSoundPlayer::~mrSoundPlayer (void)
{
 if (NULL != m_lpkDSound)
 {
  m_lpkDSound->Release ();
  m_lpkDSound = NULL;
 }

 assert (m_pkSingleton);
 m_pkSingleton = NULL;
}

 /* Initializes the sound player */
mrError32 mrSoundPlayer::Init (HWND hWindow)
{
  /* Create DirectSound object */
 DirectSoundCreate8 (NULL, &m_lpkDSound, NULL);

 if (NULL == m_lpkDSound)
 {
  return mrErrorCreateSoundDevice;
 }

  /* Set DirectSound cooperative level */
 if (FAILED (m_lpkDSound->SetCooperativeLevel (hWindow, DSSCL_NORMAL)) )
 {
  return mrErrorSetCooperativeLevel;
 }
 return mrNoError;
}

 /* Returns a pointer to the DirectSound interface */
LPDIRECTSOUND8 mrSoundPlayer::GetSound (void)
{
 return m_lpkDSound;
}

 /* Returns the mrSoundPlayer singleton */
mrSoundPlayer * mrSoundPlayer::GetSingleton (void)
{
 assert (m_pkSingleton);
 return m_pkSingleton;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?