サウンド再生には下記のAPIが使えるみたい。
・sndPlaySound
・PlaySound
MSDNには次の説明があり、PlaySoundを使ったほうがよさそう。
> WAVEフォームサウンドを再生します。この関数は、PlaySound関数のサブセットであり、Windowsの以前のバージョンとの互換性のために残されています。
ファイルから読み込んで再生する場合:
PlaySound(_T("test.wav"), NULL, SND_ASYNC | SND_FILENAME);
実行ファイルとtest.wavを同じフォルダに置いていざ実行!
(エミュレータを使うときにはリモートファイルビューアを使いましょう)
…鳴るけどtest.wavの音じゃない…
ヘルプでPlaySoundを見ると、ファイルが見つからないときにはシステムのデフォルトの音が再生されるとか。
そこで、下記のとおり修正して、test.wavを一番上のフォルダ(「マイデバイス」)に置いて実行!
PlaySound(_T("\\test.wav"), NULL, SND_ASYNC | SND_FILENAME);
ちゃんと再生されました!
今回の再生方法はSND_FILENAMEを用いて、再生のたびにwavファイルにアクセスしますが、wavファイルをメモリに読み込んでおいて再生する方法もあります。
アラームアプリのように常駐する必要があるものは、動いていないときは極力メモリの使用量を抑えたいので、再生時にwavを読み込んだ方がベターだと思ってます。
【今日の課題】
相対パスの使い方
- 2007/07/13(金) 07:14:11|
- 開発日記
-
| トラックバック:0
-
| コメント:0