一个最简单的方法是创建一个临时文件,下面地址有关于播放jpg,tiff等格式资源的例子,
用的方法就是创建临时文件,速度还不错,这一方法对于任何资源都有效,只要有播放该资源文件
的函数即可播放该资源
http://www.codeproject.com/bitmap/cximage.asp
用的方法就是创建临时文件,速度还不错,这一方法对于任何资源都有效,只要有播放该资源文件
的函数即可播放该资源
http://www.codeproject.com/bitmap/cximage.asp
ani.Create(WS_CHILD |WS_VISIBLE ,CRect(0,0,15,15),this/*parent CWnd*/,IDC_MY_ANI);
ani.Play(0.,-1,-1);.......
Well, this doesn't really deal with MFC, but its useful knowledge if you don't know how.. Parts of this code I ripped from VC++ 4.1 help, but it was outdated and didn't come close to working. First of all you need to add the wave files to the .rc file manually like so:
<NameOfSound> WAVE <Location of WAVE.>Example being Cool WAVE C:\projects\sounds\cool.wavThen you need to add this function declarion to the class you plan on using..
BOOL PlayResource(LPSTR lpName)
{
BOOL bRtn;
LPSTR lpRes;
HANDLE hRes;
HRSRC hResInfo;
HINSTANCE Nl=AfxGetInstanceHandle(); /* Find the WAVE resource. */
hResInfo= FindResource(Nl,lpName,"WAVE");
if(hResInfo == NULL)
return FALSE;
/* Load the WAVE resource. */ hRes = LoadResource(Nl,hResInfo);
if (hRes == NULL)
return FALSE; /* Lock the WAVE resource and play it. */
lpRes=(LPSTR)LockResource(hRes);
if(lpRes==NULL)
return FALSE; bRtn = sndPlaySound(lpRes, SND_MEMORY | SND_SYNC);
if(bRtn == NULL)
return FALSE; /* Free the WAVE resource and return success or failure. */
FreeResource(hRes);
return TRUE;
}Then to play the sound you simply use:
PlayResource("<soundname>");Example being PlayResource("Cool");