音が鳴りません。 – プログラミング – Home

通知
すべてクリア

[解決済] 音が鳴りません。


號
 號
(@號)
ゲスト
結合: 18年前
投稿: 2
Topic starter  

リソースの再生プログラムですが、音がなりません。
リソースの意味がわからないのですが、CドライブのWINDOWSフォルダにある、
クリック音、windows起動の音、終了時の音、などの事なんでしょうか?

音とがなりませんが、どこが間違っているか教えてください。

LRESULT CALLBACK WindowProc(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam)
{
HINSTANCE hInst;

switch(uMsg){
case WM_DESTROY:
PostQuitMessage(0);
return 0;
case WM_LBUTTONDOWN: //再生
hInst=(HINSTANCE)GetWindowLong(hWnd,GWL_HINSTANCE);
PlaySound(WinXP_Startup,hInst,SND_RESOURCE | SND_ASYNC |
SND_LOOP);
return 0;
case WM_RBUTTONDOWN: //停止
PlaySound(NULL,NULL,0);
return 0;
}
return DefWindowProc(hWnd,uMsg,wParam,lParam);
}


引用未解決
トピックタグ
Ban
 Ban
(@ban)
Prominent Member
結合: 5年前
投稿: 776
 

> リソースの意味がわからないのですが、CドライブのWINDOWSフォルダにある、
> クリック音、windows起動の音、終了時の音、などの事なんでしょうか?

違います。
ここでいう「リソース」は、実行ファイル内にリンクされるwavデータ等をさします。
# メニューやアイコンなどの「リソース」と同様

このため、SND_RESOURCEを指定してWinXP_Startupと書くと、
その *実行ファイル自体* に *WinXP_Startupという識別子をもつwavデータ* がリソースと
してリンクされていない限り、データが見つからないといわれるでしょう。
# APIの呼び出しは戻り値をチェックする習慣をつけてください。PlaySoundが失敗してると思いま
す。

私には「號さんが『どんな風に何を再生したいか』」が分かりませんので「正解」は不明ですが、
ファイル指定したいならフラグが違いますし、システム定義サウンドを指定したい場合も違う、
ということは分かります。指定を変更するなり、リソースを追加するなりしてください。


返信引用
號
 號
(@號)
ゲスト
結合: 18年前
投稿: 2
Topic starter  

さっそくのご回答ありがとうございます!
リソース意味を間違えていたようですね。
>実行ファイル内にリンクされるwavデータ等をさします。

戻り値のチェックをするといいようですね。

いろいろ貴重なご意見ありがとうございました!


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

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