mp3文件播放器源代码

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

mp3文件播放器源代码头文件代码(resource。H)

//{{NO_DEPENDENCIES}}

// Microsoft Developer Studio generated include file.

// Used by Script1.rc

//

#define IDI_ICON1 101

#define IDI_MAINICON 101

// Next default values for new objects

//

#ifdef APSTUDIO_INVOKED

#ifndef APSTUDIO_READONL Y_SYMBOLS

#define _APS_NEXT_RESOURCE_V ALUE 102

#define _APS_NEXT_COMMAND_V ALUE 40001

#define _APS_NEXT_CONTROL_V ALUE 1000

#define _APS_NEXT_SYMED_V ALUE 101

#endif

#endif

主程序代码(main)

#include

#include

#include

#include

#include

#include

#pragma comment( lib, "Strmiids.lib")

#pragma comment( lib, "winmm.lib" )

#define V_RETURN(x) { hr = x; if( FAILED(hr) ) { return hr; } }

//////////////////////////////////////////////////////////////////////////

//变量定义:

IGraphBuilder* pGBuilder;

IMediaPosition* pMPos;

//////////////////////////////////////////////////////////////////////////

HRESULT InitDirectShow()

{

HRESULT hr;

CoInitialize(NULL); //初始化COM

//创建各个对象

CoCreateInstance(CLSID_FilterGraph, NULL,

CLSCTX_INPROC, IID_IGraphBuilder, (void**)&pGBuilder);

V_RETURN(pGBuilder->QueryInterface(IID_IMediaControl, (void**)&pMControl));

V_RETURN(pGBuilder->QueryInterface(IID_IMediaPosition, (void**)&pMPos));

return S_OK;

}

HRESULT LoadMusicFile(const char *path)

{

HRESULT hr;

CHAR strSoundPath[MAX_PATH]; //存储音乐所在路径

WCHAR wstrSoundPath[MAX_PATH]; //存储UNICODE形式的路径

strcpy(strSoundPath, path);

MultiByteToWideChar(CP_ACP, 0, strSoundPath, -1,wstrSoundPath, MAX_PATH);

V_RETURN(pGBuilder->RenderFile(wstrSoundPath, NULL)); //调入文件

return S_OK;

HRESULT Play()

{

HRESULT hr;

//播放MP3的方法十分简单:

return S_OK;

}

HRESULT Stop()

{

//最后,我们要停止播放音乐并释放各个对象:

V_RETURN(pMControl->Stop()); //停止播放

return S_OK;

}

void FreeDirectShow()

//释放对象

CoUninitialize(); //释放COM

}

//////////////////////////////////////////////////////////////////////////

int main()

{

char cmd[255] = {NULL}, path[MAX_PATH] = {NULL};

if(FAILED(InitDirectShow()))

{

getch();

return 1;

}

while(1)

{

printf("*****这个是用于制作游戏的音乐播放程序,由于时间关系和便于学习我不printf("使用方法--输入以下命令:\n#载入并播放音乐:play\n#停止播放:

scanf("%s", cmd);

if(!stricmp(cmd, "play"))

{

printf("请输入文件名:");

printf("正在处理命令...\n", cmd, path);

if(FAILED(LoadMusicFile(path)))

{

getch();

path[0] = 0;

}

else Play();

else

{

printf("正在处理命令...\n", cmd, path);

if(!stricmp(cmd, "replay"))

{

Stop();

}

else if(!stricmp(cmd, "stop"))

Stop();

else if(!stricmp(cmd, "exit"))

goto quit;

else

相关文档
最新文档