WAVEファイルの再生について – プログラミング – Home

WAVEファイルの再生について
 
通知
すべてクリア

[解決済] WAVEファイルの再生について


ケン
 ケン
(@ケン)
ゲスト
結合: 25年前
投稿: 40
Topic starter  

さっそくですが質問させてください。
今本を読みながら勉強中のものなんですが、本にあるサンプルプログラムを組んでいて、
その中に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となるファイルを用意しました
どこがおかしいのでしょうか?とても長くて読みずらいと思いますが、困っているのでお願いします。


引用未解決
トピックタグ
CdS
 CdS
(@CdS)
ゲスト
結合: 24年前
投稿: 176
 

あまり詳しくないのでアレなんですが、

if((mciSendString(open C:\\test.wav type waveaudio alias WaveFile,
NULL,0,NULL) ) == 0)

でしょうね。
ケンさんのは.wavとtypeがくっついています。

細かいことはいろいろありますが、ビルドさえ通ればヘッダとライブラリについては問題ないと考えましょう。


返信引用
ケン
 ケン
(@ケン)
ゲスト
結合: 25年前
投稿: 40
Topic starter  

メッチャありがとうございます!即効で再生できました~!けどホント細かいところなんですね!
ちょっとビックリしました!複数プログラムでバグったらこんな細かいところまでみないとダメなんですね~
ありがとうございました!


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました