WikiトップAugust Framework 2.0>AF2_tutorial10

August Framework 2.0 : チュートリアル 10 ~ 効果音を再生してみる

(本項で説明する機能は ver 0.7.9 以降でのみ使えます。)

  1. #include "mglaugust2.h"
  2. // メインフレームクラス
  3. class CMyFrame : public CAugustWindowFrame2
  4. {
  5. private:
  6. CAugustKeyboardInput2 m_kb;
  7. CAugustSoundManager2 m_soundMgr;
  8. CAugustSound2 m_sound1;
  9. CAugustSound2 m_sound2;
  10. public:
  11. // 初期化時に呼ばれる
  12. bool OnGraphicInitEnded()
  13. {
  14. // コントロールクラスの登録
  15. RegistControl(&m_kb);
  16. RegistControl(&m_soundMgr);
  17. m_soundMgr.RegistControl(&m_sound1);
  18. m_soundMgr.RegistControl(&m_sound2);
  19. // .wavファイルの読み込み
  20. m_sound1.Load("hoge.wav");
  21. m_sound2.Load("hoge2.wav");
  22. // Zキーハンドラの登録
  23. m_kb.RegistHandler(
  24. CAugustKeyboardInput::EVTTYPE_ON_DOWN,
  25. 'Z',
  26. (CAugustKeyboardInput::CALLBACK_TYPE_MI)&CMyFrame::OnZ,
  27. this);
  28. // Xキーハンドラの登録
  29. m_kb.RegistHandler(
  30. CAugustKeyboardInput::EVTTYPE_ON_DOWN,
  31. 'X',
  32. (CAugustKeyboardInput::CALLBACK_TYPE_MI)&CMyFrame::OnX,
  33. this);
  34. return true;
  35. }
  36. // Zキーにて再生
  37. bool OnZ(){
  38. m_sound1.Play();
  39. return true;
  40. }
  41. // Xキーにて再生
  42. bool OnX(){
  43. m_sound2.Play();
  44. return true;
  45. }
  46. };
  47. // WinMain
  48. int APIENTRY WinMain(HINSTANCE hInstance,
  49. HINSTANCE hPrevInstance,
  50. LPSTR lpCmdLine,
  51. int nCmdShow )
  52. {
  53. CMyFrame frame;
  54. frame.Start();
  55. return 0;
  56. }

効果音の再生には CAugustSoundManager2 クラスと CAugustSound2 クラスを用います。

まず、CAugustSoundManager2 クラスを、RegistControl() します。次に、各 CAugustSound2 クラスのインスタンスを、CAugustSoundManager2 に RegistControl() します。
CAugustSound2 を RegistControl() した後、CAugustSound2::Load() メソッドにより、.wavファイルの読み込みを行います。
(なお、現時点で読み込みに対応しているのは.wavファイルのみです。)

その後、任意に CAugustSound2::Play() メソッドを呼び出し再生を行います。