
int main()
{
HWND handle=MCIWndCreate(nullptr, GetModuleHandle(nullptr), nullptr, "F:/XXX.mp3")
MCIPlay(handle)
Sleep(MCIGetLength(handle))
}
大致是这样,wav文件应该也是可以的
一.在程序中直接播放声音文件\x0d\x0a在VC++ 中的多媒体动态连接库中提供了一组与音频设备有关的函数。利用这些函数可以方便地播放声音。最简单的播放声音方法就是直接调用VC++中提供的声音播放函数BOOL sndPlaySound ( LPCSTR lpszSound,UINT fuSound )或BOOL PlaySound( LPCSTR lpszSound, HMODULE hmod, DWORD fuSound )其中参数lpszSound是需要播放声音的.W***文件的路径和文件名, hmod在这里为NULL,fuSound是播放声音的标志,详细说明请参考VC++中的帮助。 例如播放C:soundmusic.wav可以用sndPlaySound ("c:\sound\music.wav",SND_ASYNC)或PlaySound("c:\sound\music.wav",NULL, SND_ASYNC|SND_NODEFAULT )如果没有找到music.wav文件,第一种格式将播放系统默认的声音,第二种格式不会播放系统默认的声音。\x0d\x0a\x0d\x0a二.将声音文件加入到程序中\x0d\x0a在VC++的程序设计中,可以利用各种标准的资源,如位图,菜单,对话框等。同时VC++也允许用户自定义资源,因此我们可以将声音文件作为用户自定义资源加入程序资源文件中,经过编译连接生成EXE文件,实现无.W***文件的声音播放。要实现作为资源的声音文件的播放,首先要在资源管理器中加入待播放的声音文件。\x0d\x0a具体步骤入下:\x0d\x0a1.获得包含资源的模块句柄:\x0d\x0aHMODULE hmod=AfxGetResourceHandle()\x0d\x0a2.检索资源块信息:\x0d\x0aHRSRC hSndResource=FindResource(hmod,MAKEINTRESOURCE(IDR_W***E1),_T("W***E"))\x0d\x0a3. 装载资源数据并加锁:\x0d\x0aHGLOBAL hGlobalMem=LoadResource(hmod,hSndResource)\x0d\x0aLPCTSTR lpMemSound=(LPCSTR)LockResource(hGlobalMem)\x0d\x0a4.播放声音文件:\x0d\x0asndPlaySound(lpMemSound,SND_MEMORY));\x0d\x0a5.释放资源句柄:\x0d\x0aFreeResource(hGlobalMem)这不是三言两语的事情,合作wav文件 *** 作并不简单。要研究好wav文件结构,读取文件头,再进行分析和 *** 作。
有两种办法:
1.连续播放,例如:
#include <stdio.h>#include <windows.h>
#include <mmsystem.h>
#pragma comment(lib, "winmm.lib")
int main(){
PlaySound("C:\\Users\\wang\\test1.wav", NULL, SND_FILENAME)
PlaySound("C:\\Users\\wang\\test2.wav", NULL, SND_FILENAME)
PlaySound("C:\\Users\\wang\\test3.wav", NULL, SND_FILENAME)
return 0
}
2.系统自带的“windows movie maker”。运行windows movie maker,然后选择“导入音频或音乐”之后把你需要的文件添加进来。然后按照你自己需要排列的顺序把这些文件依次拖到下方的时间线上。然后点左上方的“文件”选项,最后保存电影文件即可。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)