C ++将wav文件放入dll
Posted
技术标签:
【中文标题】C ++将wav文件放入dll【英文标题】:C++ Put wav file into dll 【发布时间】:2011-03-06 00:37:41 【问题描述】:我想在 dll 中包含一个 wav 文件并稍后播放。 怎么做?我知道如何播放同一目录中的文件。但我想在我的 dll 中包含大约 50 个 wav 文件。
【问题讨论】:
无论您选择哪种方式,我都强烈反对在您的 dll 中包含 50 个 wav 文件(因为大小):P 【参考方案1】:您将此类文件作为资源嵌入。
你需要一个资源文件,例如
MY_WAV WAVE "file.wav"
然后直接播放,使用 PlaySound。
PlaySound("MY_WAV", hInstance, SND_RESOURCE);
hInstance 应该是传递给 DllMain 的句柄
【讨论】:
关闭,但需要工作。资源声明必须使用 WAVE,而不是 RCDATA。第一个参数应该是 MAKEINTRESOURCE(MY_WAV)。 将 RCDATA 更正为 WAVE。字符串标识符工作正常,不需要 MAKEINTRESOURCE 参考 msdn.microsoft.com/en-us/library/ms903664.aspx 我想说this 是一个更好的资源。您的特定于 Windows CE。此特定功能的行为似乎没有什么不同,但这并不总是得到保证。无论如何,为准确性 +1,虽然我也建议指定SND_ASYNC
标志。【参考方案2】:
我建议使用 Bass http://www.un4seen.com/ 和 mp3 而不是 wav
如果你想将它包含在你的 dll 中(从内存中加载 bass.dll),我可以告诉你怎么做(只是不在这里)
在你的 PE 中包含 wav/mp3 文件(无论是 exe/dll)使用资源
【讨论】:
以上是关于C ++将wav文件放入dll的主要内容,如果未能解决你的问题,请参考以下文章
如何将dll文件移动到C:\WINDOWS\assembly文件夹
我的电脑打开WPS软件时提示电脑丢失QTcore4.dll文件怎么解决