繁体   English   中英

如何将 mp3 文件添加为资源然后播放

[英]How to add an mp3 file as a resource and then play it

我正在使用 Visual Studio,我想知道如何将 mp3 文件添加为资源然后播放,但我找不到任何东西!

对于 nom 我已将文件添加到资源文件夹但我是否正确执行了我不知道 my.rc 文件有一个名为“mp3”的文件夹,其中是我尝试过的文件 IDR_MP31:

PlaySound(L"mp3\\IDR_MP31", NULL, SND_RESOURCE | SND_ASYNC);

不幸的是,这似乎不起作用我将如何在我的代码中引用我的资源? 我可以用 mciSendString 玩吗?

编辑:我已经开始播放 memory 中的 WAV 文件,但这并不理想,因为它需要大量 memory

在资源.h 中:

#define IDR_WAVE1                       104

function

HINSTANCE h = ::GetModuleHandle(0);
HRSRC res = ::FindResource(h, MAKEINTRESOURCE(104), TEXT("WAVE"));
if (res == 0)
    return;

HGLOBAL global = ::LoadResource(h, res);
if (global == 0)
    return;

void* wav = ::LockResource(global);
if (wav == 0)
{
    UnlockResource(global);
    FreeResource(global);
    return;
}

PlaySound(LPCWSTR(wav), NULL, SND_MEMORY | SND_ASYNC | SND_NODEFAULT);


UnlockResource(global);
FreeResource(global);

如果有人知道如何以这种方式播放 mp3 文件,请告诉我。 谢谢

您应该可以使用 mciSendString 播放它: mciSendString("play mp3", NULL, 0, NULL);

这个链接也有一些有用的信息: https://www.codeproject.com/Articles/17279/Using-mciSendString-to-play-media-files

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM