音楽ファイルをex4ファイルに組み込む方法

PlaySound関数にSoundsフォルダ内のファイル名を指定して音楽を再生する方法では、オリジナルの音楽ファイルを使用した場合に音楽ファイルも合わせて配布する必要があります。
この方法ではユーザーの設定の手間が増えてしまうのであまり良い方法ではありません。

MQL4ではmqhファイルなどと同様、wavファイル自体をコンパイル時にex4ファイルの中へと取り込むことが可能です。
この方法を利用することで、配布するファイルをex4ファイルだけにすることが可能です。

まず「#resource」を使用して対象となるwavファイル名を指定します。
wavファイルは事前にデータフォルダのMQL4フォルダ内に保存しておきます。
ファイル名は「¥¥」の後に、MQL4フォルダ以下のパスを指定します。
今回はMQL4フォルダの直下にSoundsフォルダを作成し、この中にsample.wavを保存しました。

#resource "¥¥Sounds¥¥sample.wav"

これでsample.wavを使用する準備が整いました。
実際に使用するにはPlaySound関数を実行します。
この時、ファイル名は#resourceで指定したファイル名の先頭2文字を「::」に変えて指定します。

#property strict
#resource "¥¥Sounds¥¥sample.wav"

int OnInit(){
PlaySound("::Sounds¥¥sample.wav");
return(INIT_SUCCEEDED);
}

void OnTick(){}

コンパイルして作成されたex4ファイルにはwavファイルの情報が含まれておりますので、ex4ファイルの配布だけでオリジナル音楽ファイルが使用できます。
TwitterでシェアFacebookでシェアGoogle+でシェアはてなブックマークに追加

TOPへ