Visual Studioを使用してC++でwavファイルを再生しようとしています。 私は私のプロジェクトディレクトリにファイル「my.wav」を入れて、コードPlaySoundはVisual Studioでは動作しますが、スタンドアロンのexeでは動作しません
PlaySound(TEXT("my.wav"), NULL, SND_FILENAME | SND_SYNC);
を使用し、私は再生ボタン(またはF5あるいはCtrlキーを押しながらF5)を押すと、それが健全な罰金を果たしています。
コマンドプロンプトを開き、Debug /に移動してMyApp.exeを実行し、実行時にエラーチャイムを再生します。
注:理想的には、サウンドはexeでバンドルされるので、私はexeを配布するだけで動作します。私はResource.rcに入れてみましたが、すべての例で見るコードは
PlaySound((char*)IDR_WAVE1, NULL, SND_RESOURCE | SND_SYNC);
私のためにコンパイルされていません。 IDR_WAVE1が自分のリソースの名前であるにもかかわらず、それについて苦情を言います。
を使用するだけで、整数 'IDR_WAVE1'ないですリソースを識別する – wilx
これを実行してもよろしいですか(https://msdn.microsoft.com/en-us/library/windows/desktop/dd743679(v = vs.85).aspx)。 – wilx
相対パス(* "my.wav" *)を使用しています。 Visual Studioで設定されている現在の作業ディレクトリは、コマンドプロンプトから起動すると現在の作業ディレクトリとは異なります。 WAVをリソースとしてバンドルするか、完全修飾パスを使用します。 – IInspectable