ページ 1 / 1
リソースからWAVEデータ
Posted: 2009年2月21日(土) 15:39
by lbfuvab
Dxライブラリで小さなゲームを作っていて、実行ファイルだけで動くようにしたいので
WAVEデータをリソースに置いてそれを再生しようと思ったのですが、
ググっても具体的な方法が全然分かりません。
環境はWinXP + VC2008EE + DxLib2.25です。
Re:リソースからWAVEデータ
Posted: 2009年2月21日(土) 15:49
by コスモ
DXライブラリのリファレンス
http://homepage2.nifty.com/natupaji/DxL ... .html#R8N1
に音利用関数
int PlaySoundFile( char *FileName , int PlayType ) ;
がありますがそれでは駄目ですか?
リンク先には簡単なサンプルプログラムもあります。
>実行ファイルだけで動くようにしたいので
>WAVEデータをリソースに置いてそれを再生しようと思ったのですが
についてですが、
WAVEデータは実行ファイルには組み込めないと思います。
同じフォルダにあれば再生は可能ですが。
ところで、
DxLib2.25には(旧)DxLib2.25aと(新)DxLib2.25bのバージョンがあるのはご存知ですか?
Re:リソースからWAVEデータ
Posted: 2009年2月21日(土) 16:20
by SCI
結論から言うと、可能です。
PlaySound()関数(DxLibの関数じゃないよっ)とかを調べてみてください。
ただ、実行ファイルのサイズが大きくなるので、ファイルにするかリソースにするかは状況によって使い分けるといいと思います。
Re:リソースからWAVEデータ
Posted: 2009年2月21日(土) 16:33
by lbfuvab
cosmo様
>WAVEデータは実行ファイルには組み込めないと思います。
>同じフォルダにあれば再生は可能ですが。
えーと、カスタムリソースとして使えたと思っていたのですが
>ところで、
>DxLib2.25には(旧)DxLib2.25aと(新)DxLib2.25bのバージョンがあるのはご存知ですか?
調べたのですが分かりませんでしたorz
SCI様
>結論から言うと、可能です。
>PlaySound()関数(DxLibの関数じゃないよっ)とかを調べてみてください。
この関数で出来ました。本当に有難うございます。
Re:リソースからWAVEデータ
Posted: 2009年2月21日(土) 19:36
by Mist
解決していますけど以下の関数で出来たと思います。
extern int LoadSoundMemByResource( const char *ResourceName, const char *ResourceType, int BufferNum = 1 ) ; // サウンドをリソースから読み込む
Re:リソースからWAVEデータ
Posted: 2009年2月21日(土) 19:59
by lbfuvab
教えていただき、有難うございます。
しかし、BufferNumというのは一体何のパラメータなのでしょうか?
Re:リソースからWAVEデータ
Posted: 2009年2月21日(土) 22:15
by Mist
デフォルト値付きの引数は無視して問題ないと思います。
どうしても気になるのであれば、DXライブラリをソース解析するか本家の管理人さんに質問されてはいかがでしょうか。
Re:リソースからWAVEデータ
Posted: 2009年2月21日(土) 23:34
by コスモ
>>lbfuvabさん
>えーと、カスタムリソースとして使えたと思っていたのですが
すいません勉強不足でした…orz
確かにWAVEファイルは実行ファイルに組み込めるみたいです。