とりあえずサウンドを鳴らすには・・・?
PlaySound関数1行でサウンドファイルからの音データを鳴らすことができます
ただし任意箇所にシークするなどの細かい制御ができず、 複数の音を同時に鳴らせないのが欠点です
また、wavファイルしか再生できません
さらにファイルを開いてデータを読み込んで鳴らすという処理を毎回行うため、処理が重いです
wavファイルはプロジェクトと同じフォルダに入れてください
今回使うファイルは次のようになってます。どぞー(-ω-)つ旦
・sound.cpp
・katana.wav
・bomb.wav
zipでほしい人はこちら
・sound.zip
// PlaySound関数にはwindows.hとwinmm.libが必要 #include <windows.h> #include <tchar.h> #pragma comment(lib,"winmm.lib") int main(){ // wavファイル読み込み、ループモード、非同期で先頭から再生(途中から再生できない) // SND_FILENAME オプションでファイルから再生 // SND_ASYNCオプションで非同期再生 // SND_LOOPオプションでループ再生 PlaySound(_T("katana.wav"),NULL,SND_FILENAME | SND_ASYNC | SND_LOOP); // main側の処理を10秒止める Sleep(10000); // 再生停止 PlaySound(NULL,NULL,0); // PlaySoundは同時に複数の音を鳴らすことができない // 非同期モードで再生し、新しいサウンドを鳴らそうとすると再生中のサウンドが停止する // SND_SYNCオプションで同期再生 PlaySound(_T("bomb.wav"),NULL,SND_FILENAME | SND_SYNC ); PlaySound(_T("katana.wav"),NULL,SND_FILENAME | SND_SYNC ); return 0; }
複数鳴らせないので正直このままではゲームの効果音とか鳴らすのに使い物になりませんが、
1行でサウンドを鳴らせるのはお手軽です
複数音鳴らすのは結構大変なので、もっとずっと後の回で説明します