●オーディオプレイヤ開発記 その1
聞々ハヤえもん ですが、ACM を使った MP3 の再生方法についてはだいたい分かってきたものの、コードがあまりにもきたなく、このままいくといずれ、何が何だか分からないような状況になりかねないので、ここらでいったん、1から作りなおしておきたいと思います。それで折角なので、その開発過程を、この日記にできる限り載せていくつもりです。
さて、Windows SDK / C++ で作るので、まずは、WinMain 関数とかそこらへんからです。まずは、アプリケーション全体の管理を行うクラスを作ります。
//----------------------------------------------------------------------------
// App.h : アプリケーションの管理を行う
//----------------------------------------------------------------------------
#ifndef AppH
#define AppH
//----------------------------------------------------------------------------
// アプリケーションの管理を行うクラス
//----------------------------------------------------------------------------
class CApp
{
public: // 関数
CApp(const int & nCmdShow): m_nCmdShow(nCmdShow) { }
~CApp() { }
int Run(); // 実行
private: // メンバ変数
const int m_nCmdShow; // 初期表示状態
public: // メンバ変数の取得・設定
int GetNCmdShow() const { return m_nCmdShow; }
};
//----------------------------------------------------------------------------
#endif
//----------------------------------------------------------------------------
// App.cpp : アプリケーションの管理を行う
//----------------------------------------------------------------------------
#include <windows.h>
#include "App.h"
//----------------------------------------------------------------------------
// WinMain 関数
//----------------------------------------------------------------------------
int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int nCmdShow)
{
CApp app(nCmdShow);
return app.Run();
}
//----------------------------------------------------------------------------
//----------------------------------------------------------------------------
// 実行
//----------------------------------------------------------------------------
int CApp::Run()
{
MessageBox(0, "開発中", "サウンドプレイヤー", 0);
return 0;
}
//----------------------------------------------------------------------------
とりあえずは、「メッセージボックスを表示する」というだけのソフトですね。hInstance の値は GetModuleHandle 、lpCmdLine の値は GetCommandLine を使うとして、nCmdShow の値だけを保持しています。
ここまでのソースコードはこちら ( Hayaemon20060131_src.lzh ) 。次は、ウィンドウの表示とかかな。