私はDLL経由でWAVファイルを再生するいくつかのコードを持っています。それはディレクトリパスを指すことによってそれを再生していましたが、私はそれを私のEXEに含めたいと思います。だから私はそれをリソースとして入れました。問題は、どのように私はそれを正しく指していますか?私はそれを配置する必要がある場所の最初の引数がある埋め込みリソースのファイルパス?
UInt32 stream = BASS.BASS_StreamCreateFile(@"C:\MYWAVFILE.WAV", 0, 0, BASSFlag.BASS_DEFAULT | BASSFlag.BASS_SAMPLE_LOOP);
は、あなたが見ることができます:
UInt32 stream = BASS.BASS_StreamCreateFile(Properties.Resources.MYWAVFILE, 0, 0, BASSFlag.BASS_DEFAULT | BASSFlag.BASS_SAMPLE_LOOP);
オリジナルのコードは、これを持っていました。
重大度コード説明プロジェクトファイルの行抑制状態 エラーCS1503引数1:MYPROGRAM C「文字列」を「System.IO.UnmanagedMemoryStream」から変換することはできません:Users \ユーザー\ LOLCATS \しかし、コンパイラは、このエラーで文句を言いますドキュメント\ Visual Studio 2015 \ Projects \ MyProgram \ MyProgram \ Form1.cs 30アクティブ
ありがとうございます。
私はEXE自体にそれを含めることを好むだろう。これはできますか? – t0rxe
私のソリューションはうまく動作するでしょうが、埋め込みリソースがメモリにロードされ、メモリに既にロードされているにもかかわらずファイルに保存され、関数がファイルパスを読み込み、ファイルをロードしますメモリ、それは魔法です。だから、 'Stream'を受け入れるより良いライブラリを見つけることはもっと良いでしょう。[' System.Media.SoundPlayer'](https://msdn.microsoft.com/en-us/library/system.media.soundplayer)を試してみてください。 aspx)を使用する代わりに 'new SoundPlayer(Properties.Resources.MYWAVFILE)' –