さっそくですが質問させてください。
今本を読みながら勉強中のものなんですが、本にあるサンプルプログラムを組んでいて、
その中にWAVEプレーヤーを作るものがあります。
とりあえずその通りに書いてみましたがどうしてもWAVEファイルが再生されません。
どうしたらいいのか教えてください。
現段階ではダイアログベースで再生とストップだけのダイアログを作成し、
メンバ関数を割り当て、このようなプログラムを書きました。void CWavePlayDlg::OnPlay()
{
// TODO: この位置にコントロール通知ハンドラ用のコードを追加してください
if((mciSendString(open C:\\test.wavtype waveaudio alias WaveFile,
NULL,0,NULL) ) == 0)
mciSendString(play WaveFile,NULL,0,NULL);
else
MessageBox(Waveファイルが開けません。,エラー);
}
void CWavePlayDlg::OnStop()
{
// TODO: この位置にコントロール通知ハンドラ用のコードを追加してください
mciSendString(stop WaveFile,NULL, 0,NULL);
mciSendString(close WaveFile,NULL,0,NULL);
そしてヘッダファイルとライブラリを追加しなくてはならないのですが、
ヘッダについては宣言する場所はどこでもいいと書いてあったのでソースファイルの
Dialg.cppに書きました。ライブラリについては設定からリンクへ行き、追加しました。
このあたりがどう変更されてるか目に見えてないのでちゃんとできているか自信がありません。
そして最後にCのルートにMS-DOSファイル名でTEST.WAVとなるファイルを用意しました
どこがおかしいのでしょうか?とても長くて読みずらいと思いますが、困っているのでお願いします。
あまり詳しくないのでアレなんですが、
if((mciSendString(open C:\\test.wav type waveaudio alias WaveFile,
NULL,0,NULL) ) == 0)
でしょうね。
ケンさんのは.wavとtypeがくっついています。
細かいことはいろいろありますが、ビルドさえ通ればヘッダとライブラリについては問題ないと考えましょう。
メッチャありがとうございます!即効で再生できました~!けどホント細かいところなんですね!
ちょっとビックリしました!複数プログラムでバグったらこんな細かいところまでみないとダメなんですね~
ありがとうございました!