-1
我有一些通过DLL播放WAV文件的代码。它通过指向一个目录路径播放它,但我想将它包含在我的EXE中。所以,我把它作为一种资源。问题是,我如何正确指向它?嵌入式资源的文件路径?
UInt32 stream = BASS.BASS_StreamCreateFile(Properties.Resources.MYWAVFILE, 0, 0, BASSFlag.BASS_DEFAULT | BASSFlag.BASS_SAMPLE_LOOP);
原始代码有这样的:
UInt32 stream = BASS.BASS_StreamCreateFile(@"C:\MYWAVFILE.WAV", 0, 0, BASSFlag.BASS_DEFAULT | BASSFlag.BASS_SAMPLE_LOOP);
你可以看到第一个参数是我需要把它。
严重性代码说明项目文件的线路抑制状态 错误CS1503参数1:无法从“System.IO.UnmanagedMemoryStream”到“字符串” MyProgramÇ转换:\用户\大笑猫\但是,编译与此错误抱怨Documents \ 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)而不是使用'新的SoundPlayer(Properties.Resources.MYWAVFILE)' –