读书人

c++播MP3,该怎么处理

发布时间: 2013-01-08 14:02:13 作者: rapoo

c++播MP3
各位,小弟想问一下怎样写段c++代码播放mp3格式的歌曲???
[解决办法]
你使用MFC的框架的ActiveX就可以实现了。
[解决办法]

#ifndef _PLAY_SOUND_H__
#define _PLAY_SOUND_H__

#include <string>
using namespace std;

class playSound
{
public:
playSound();
~playSound();

void doFunc( wstring soundPath );
};

#endif

#include <Windows.h>
#include <MMSystem.h>
#include "playSound.h"

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

playSound::playSound()
{

}

playSound::~playSound()
{

}

void playSound::doFunc( wstring soundPath )
{
wchar_t buf[128];

MCI_OPEN_PARMS mciOpen;
MCIERROR mciError;
//mciOpen.lpstrDeviceType = (LPCTSTR)MCI_ALL_DEVICE_ID;
//mciOpen.lpstrDeviceType = "waveaudio"; //只能播放.wav文件
//mciOpen.lpstrDeviceType = "avivideo"; //*.avi
mciOpen.lpstrDeviceType = L"mpegvideo";
mciOpen.lpstrElementName = soundPath.c_str();

mciError = mciSendCommand(0,MCI_OPEN,MCI_OPEN_TYPE
[解决办法]
MCI_OPEN_ELEMENT,(DWORD)&mciOpen);
if(mciError)
{
mciGetErrorString(mciError,buf,128);
MessageBoxA(NULL ,"send MCI_PLAY command failed", "ERROR" , MB_OK
[解决办法]
MB_TOPMOST );
return;
}
UINT DeviceID = mciOpen.wDeviceID ;
MCI_PLAY_PARMS mciPlay;

mciError = mciSendCommand(DeviceID, MCI_PLAY, MCI_WAIT ,
(DWORD) (LPMCI_PLAY_PARMS)&mciPlay); //MCI_DGV_PLAY_REPEAT, 要 #include "Digitalv.h"
if(mciError)
{
mciGetErrorString(mciError,buf,128);
MessageBoxA( NULL ,"send MCI_PLAY command failed", "ERROR" , MB_OK
[解决办法]
MB_TOPMOST );
return;


}

}


上面的是.h和.cpp的代码,楼主可以直接用了
[解决办法]
我擦。。。我想告诉你libMPG123了
[解决办法]
MCI接口,播放简单的视频,音频都可以
[解决办法]
其实2楼只是调用了一个库里面的函数而已。建议楼主还是自己多研究下播放器什么的。

读书人网 >C++

热点推荐