- 締切済み
コールバック関数が動きません。【音処理】
当方、音に関するプログラミングをしています。 その中で、解決できない問題が発生しましたので、ご助言・ご協力頂ければ、と思い質問させていただきます。 尚、ソフトは、Microsoft Visual C++ 2010 Express を使用しております。 言語は、C/C++です。 作成したのは、音を再生する、というだけのプログラムです。 初めに、Win32プロジェクトを使い、一部、次のようにプログラムを作成しました。 ~~~~~~ HWND hWnd=CreateWindow(~) ~~仮の適当なウインドウを作成する~~ ~~~~~ MMRESULT ret = waveOutOpen( ~~音をオープンする処理~~ &m_hWaveOut, uDevID, &m_wfxWaveForm, (DWORD)hWnd, 0, CALLBACK_WINDOW); } ~~~~~ LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { ~~ 再生に関する処理 ~~ } 音データは大きいので、分割して再生し、一つの分割データが再生し終わると、WndProcが呼ばれて 次の再生データを入れ… というような処理です。 大事なのは、コールバック関数を使っているところです。 このプログラムは無事動きました。 しかし、ここから問題が起きました。 ちゃんとしたGUIを実装する為にWindowsフォームアプリケーション、にてプログラムを作成し直した場合、 なぜかコールバック関数の部分だけが動かなくなってしまうのです。 他の部分は問題なく、動きます。 ウインドウから送られてくるメッセージが「Windowsフォームアプリケーション」の場合だけ 違ったりするのでしょうか? 何かわかる方いらっしゃいましたら、ご助言・ご協力お願いいたします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- chie65536(@chie65535)
- ベストアンサー率44% (8812/19983)