コーディングで音楽ファイルを再生しようとしましたが、失敗しました。 .cppファイルを保存するのと同じフォルダーに音楽ファイルがあります。
誰かが私を助けることができますか?
私のコードは:
#include <iostream>
#include <windows.h>
int main() {
PlaySound("kenny g.WAV", NULL, SND_ASYNC);
}
絶対パスを使用し、ファイル名を送信していることを確認し(SND_FILENAMEフラグを使用)、サウンドファイルを再生するのに十分な時間プログラムを一時停止する必要があります(たとえば、getchar()を使用)。プロジェクト設定でwinmm.libライブラリをリンクし、ヘッダーに#includewindows.hとmmsystem.hをリンクする必要があります。
#include <windows.h>
#include <mmsystem.h>
int main() {
PlaySoundA((LPCSTR) "C:\\kenny g.WAV", NULL, SND_FILENAME | SND_ASYNC);
getchar();
}
API: http://msdn.Microsoft.com/en-us/library/ms712879(VS.85).aspx
それはそれであるはずです。教えてください、ありがとう!
コンパイラ設定に-lwinmmを追加してみてください。それは私のために働いた。コンパイラオプション領域に入力するだけで機能します。
絶対パスを使用して、パスエラーかどうかを確認できますか?
Ex: PlaySound("C:\\kenny g.WAV", NULL, SND_ASYNC);
_int main() {
PlaySound("kenny g.WAV", NULL, SND_ASYNC);
}
_
_SND_ASYNC
_フラグを使用すると、プログラムをすぐに終了できます(そして終了します)。
最初にPlaySound("kenny g.WAV", NULL, SND_SYNC);
を試して、機能するかどうかを確認してください。
このコードを試してみてください。また、code :: Blockの場合、リンカー設定でwinmmを使用します。
#include <iostream>
#include <windows.h>
#include <MMSystem.h>
int main(){
PlaySound(TEXT("your file path.wav") , NULL , SND_SYNC) ;
return 0;
}
まだ解決されていない場合に備えて!前のコメントで述べた2つのヘッダーファイルをインクルードし、プロジェクトを必要なlibにリンクし、サウンドファイルを.exeファイルと同じフォルダーに配置する必要があります(フルパスを使用していない場合)
パスについて言えば、パスが絶対的でない場合、データファイルはソースファイルの場所ではなく、実行可能ファイルの場所にある必要があります。
そして、ええ、この質問は 質問 9年前です;)
playSound(TEXT( "SystemStart")、NULL、SND_ALIAS);でテストできます。