BGM

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
ショウヘイ

BGM

#1

投稿記事 by ショウヘイ » 14年前

PlaySound関数を使用しないでBGMを流す方法はありませんか?

VC++2010をコマンドプロントでコンパイルしているのですが
たとえばアイコンを作成するときに
【main.rc】というファイルを作成してその中に
icon ICON "main.ico"
と書き込み今度はコンパイラで
rc main.rc
でmain.resを作成します。
その後に
cl main.c main.res
とすればアイコンが表示されます。

こんな感じでBGMをリンクすることはできないのでしょうか?
PlaySound関数を使用するとローカルのどこかに音楽ファイルが必要ですよね?
もしゲームやらなにやらを配布するときに音楽ファイルまで一緒に配布することになってしまいます。
それが嫌なので音楽を直接リンクできないか?ということを質問しました。

シエル

Re:BGM

#2

投稿記事 by シエル » 14年前

ICONっていう文字を「RCDATA」ってやつにすれば、
どんなファイルでもリソースとして扱えたはずです。たぶん。
WAVEっていう文字にしてもいけたはずですが。

ショウヘイ

Re:BGM

#3

投稿記事 by ショウヘイ » 14年前

ありがとうございます。
リソースはできたのですが
リンクしても実行ファイルを実行しても音楽が再生されませんでした。

どうしてでしょうか?

ISLe

Re:BGM

#4

投稿記事 by ISLe » 14年前

PlaySoundでリソースを読み込んで再生するようにしましたか?

PlaySound("BGM", GetModuleHandle(NULL), SND_RESOURCE | SND_ASYNC | SND_LOOP);
#リソース名がBGMの場合
とか
PlaySound(MAKEINTRESOURCE(BGM), GetModuleHandle(NULL), SND_RESOURCE | SND_ASYNC | SND_LOOP);
#リソースIDがBGMの場合
という感じ。

閉鎖

“C言語何でも質問掲示板” へ戻る