gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-28 04:04:49 26 4
gpt4 key购买 nike

我正在使用 visual studio,我想知道如何将 mp3 文件添加为资源然后进行播放,但我在这方面找不到任何信息!

名义上我已经将文件添加到资源文件夹,但我不知道我是否正确地添加了它我的 .rc 文件有一个名为“mp3”的文件夹,其中是文件 IDR_MP31我试过这个:

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

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

编辑:我可以从内存中播放 .WAV 文件,但这并不理想,因为它需要大量内存

在resource.h中:

#define IDR_WAVE1                       104

函数

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

关于c++ - 如何将 mp3 文件添加为资源然后播放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58922883/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com