如何添加mp3文件作为资源,然后播放
How to add an mp3 file as a resource and then play it
我正在使用visualstudio,我想知道如何添加mp3文件作为资源,然后播放它,我在这方面找不到任何东西!
对于nom,我已经将文件添加到资源文件夹中,但我做得对吗?我不知道我的.rc文件有一个名为"mp3"的文件夹,其中是文件IDR_MP31我试过这个:
PlaySound(L"mp3\IDR_MP31", NULL, SND_RESOURCE | SND_ASYNC);
不幸的是,这似乎不起作用如何在代码中引用资源?我可以用mciSendString演奏吗?
编辑:我已经从内存中播放了.WAV文件,但这并不理想,因为它需要大量内存
在资源中。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
相关文章:
- 在执行其他功能的同时播放动画(LED矩阵和Arduino/ESP8266)
- 具有瞬态资源的RAII类
- C++ 雷神库 - 使用资源加载器类时出现问题(不命名类型)
- SFML纹理像播放器
- 允许从 std::map 的密钥窃取资源?
- 参考资源文件VC++中的$(SolutionDir)
- 如何维护资源管理器项目视图中当前可见的项目列表
- 将 std::allocate_shared 与多态资源分配器一起使用
- 使用RAII在给定次数的迭代后重新分配资源
- 资源管理设计模式
- 如何跨平台将二进制资源构建到程序中?
- 根据用户回答声明"Players"。用户选择玩家数量。播放器是结构体
- 如何收听Windows当前正在播放的声音?
- SetDlgItemInt 不会更改嵌入资源的编辑框
- Klocwork Inside的资源泄漏
- 如何添加mp3文件作为资源,然后播放
- 使用资源文件中的直接显示播放音频
- 如何在Qt中重复/循环播放来自资源文件的声音
- 一次播放多个WAVE资源文件
- QML组件'Video'无法播放Qt资源文件中的视频文件