MQL5 の PlaySound 関数 を使うと音声ファイル (WAV) を再生することができます。
PlaySound("alert.wav");
PlaySound
の引数には、MetaTrader の Sounds
ディレクトリ内の WAV ファイルを指定します。
例えば次のようなファイルがあります。
alert.wav
alert2.wav
connect.wav
disconnect.wav
email.wav
expert.wav
news.wav
ok.wav
stops.wav
tick.wav
timeout.wav
wait.wav
音声の再生は非同期に実行されるため、PlaySound
関数の呼び出しがプログラムを停止させることはありません。
音声の再生中にもう一度 PlaySound
関数を呼び出すと、現在再生中の音声は停止し、新しく指定した音声の再生が開始されます。
例えば、下記のように連続して実行すると、最後に指定した音だけが聞こえます。
PlaySound("alert.wav"); // この音は聞こえず、
PlaySound("ok.wav"); // この音だけが聞こえる
引数にファイル名ではなく NULL
を指定すると、現在再生中の音声を停止することができます。
PlaySound(NULL);
次のスクリプトは、1 秒おきに異なる音声を再生していきます。
void OnStart() {
string sounds[] = {
"alert.wav", "alert2.wav", "connect.wav",
"disconnect.wav", "email.wav", "expert.wav",
"news.wav", "ok.wav", "stops.wav",
"tick.wav", "timeout.wav", "wait.wav"
};
for(int i = 0; i < ArraySize(sounds); ++i) {
Print("Sound file: " + sounds[i]); // Experts タブにファイル名を表示
PlaySound(sounds[i]); // 音声を再生
Sleep(1000); // 1 秒待つ
}
}