play.cpp

来自「非常适合内嵌式mp3播放,例如控制台!注意看压缩包里readme.doc 详细过」· C++ 代码 · 共 42 行

CPP
42
字号
#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(); 
} 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?