2011-03-06 76 views
0

我想將一個wav文件包含到dll中並稍後播放。 如何做到這一點?我知道如何播放同一個目錄中的文件。但我想包括大約50個wav文件到我的dll中。C++把wav文件放入dll

+0

不管什麼這樣做的方式,你選擇我強烈反對,包括您的DLL(因爲尺寸)50個wav文件:P – n00b 2011-03-06 01:07:17

回答

3

您嵌入這些文件的資源。

您需要一個資源文件,例如

MY_WAV WAVE "file.wav" 

然後直接播放它,使用PlaySound。

PlaySound("MY_WAV", hInstance, SND_RESOURCE); 

的hInstance應該把手傳遞給你的DllMain

+0

關閉,但需求工作。資源聲明必須使用WAVE,而不是RCDATA。第一個參數應該是MAKEINTRESOURCE(MY_WAV)。 – 2011-03-06 01:37:06

+0

將RCDATA更正爲WAVE。字符串標識符工作正常,MAKEINTRESOURCE是不需要的參考http://msdn.microsoft.com/en-us/library/ms903664.aspx – Erik 2011-03-06 01:43:02

+0

我會說[this](http://msdn.microsoft.com/en -us/library/dd743679.aspx)是一個更好的資源。你的特定於Windows CE。該行爲對於此特定功能看起來並不相同,但這並不總是保證。無論如何,+1的準確性,但我也建議指定'SND_ASYNC'標誌。 – 2011-03-06 05:34:21

1

我會建議使用低音http://www.un4seen.com/和MP3代替WAV

如果你想要把它列入你的DLL(從內存加載bass.dll)我可以告訴你如何做到這一點(只是沒有在這裏)

,包括你的PE WAV/MP3文件(可以是EXE/DLL)使用資源