C 言語で playsound 関数を使用する方法を教えてください
C言語では、PlaySound関数を用いて音声ファイルの再生が可能です。ただし、PlaySound関数はmmsystem.hヘッダファイルに依存するため、Windowsプラットフォームでの利用が前提となっています。
次は、PlaySound関数を用いて音源ファイルの再生を行う、単純なサンプルコードです。
#include <windows.h>
#include <mmsystem.h>
int main() {
// 播放音频文件
PlaySound("path_to_audio_file.wav", NULL, SND_FILENAME | SND_ASYNC);
// 等待音频播放完成
Sleep(5000);
return 0;
}
上記コード中、PlaySound 関数の第 1 引数は、音声ファイルのパスを、第 2 引数は、それが音声リソースから取られた場合に、その元となる音声リソースを指定する、HMODULE 型のハンドルであり、第 3 引数は、再生方法を指定するフラグである。例では、SND_FILENAME フラグを用いて音声ファイルのパスを指定し、SND_ASYNC フラグを用いて非同期再生を指定している。
サウンドを再生完了のまでプログラムがPlaySoundの処理完了を待ってしまうのでご注意ください。非同期に再生したい場合はSND_ASYNCフラグを設定してください。
再生方法を制御するためのその他のフラグは必要に応じて使えます。例えば、SND_LOOPはループ再生、SND_MEMORYはオーディオファイルをメモリにする等です。具体的なフラグは関連ドキュメントを参照してください。