WinCE 下播放MP3代码
//我成功运行过的代码:
#include "stdafx.h"
#include <dshow.h>
#include <streams.h>
#pragma comment (lib,"Ole32.lib")
#pragma comment (lib,"Strmiids.lib")
void TestMP3(void);
int WINAPI WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow)
{
// TODO: Place code here.
TestMP3();
return 0;
}
void TestMP3()
{
IGraphBuilder *pGraph;
/* 指向Filter Graph的指针 */
IMediaControl *pMediaControl;
/* 指向MediaControl对象的指针 */
/* 初始化,程序启动时执行一次即可 */
CoInitialize(NULL);
/**************************************************************************/
/* 以下程序每次播放MP3(或其他格式)文件时调用 */
/* 创建一个Filter Graph manager */
CoCreateInstance(CLSID_FilterGraph, NULL, CLSCTX_INPROC, IID_IGraphBuilder, (void **)&pGraph);
pGraph->QueryInterface(IID_IMediaControl, (void **)&pMediaControl);
/* 连接播放指定文件所需的filter */
pGraph->RenderFile(L"//test.mp3", NULL);
/* 开始播放指定的文件 */
pMediaControl->Run();
/* 文件的播放在DirectShow中独立线程中进行,此处等待 */
MessageBox(NULL, L"点击[OK]结束播放", L"Play MP3", MB_OK);
pMediaControl->Stop();
/* 停止播放 */
pMediaControl->Release();
/* 释放对象 */
pGraph->Release();
/**************************************************************************/
/* 程序结束时调用 */
CoUninitialize();
}