使用API FUNCTION 播放MP3.

原创 2006年05月31日 14:20:00

要Play MP3,最简单的方法是使用API 函数mciSendCommand.

以下代码在VS2005下编译通过.在VS2005以下的版本要将IN DWORD_PTR类型替换为DWORD.

首先包含头文件:

#include <Mmsystem.h>  //Support to play mp3.
#include <Digitalv.h>
#pragma comment(lib,"Winmm.lib")

以下是播放代码:

//Get  program directory

  CString strPath;

  TCHAR szFull[_MAX_PATH];

  TCHAR szDrive[_MAX_DRIVE];

  TCHAR szDir[_MAX_DIR];

  ::GetModuleFileName(AfxGetInstanceHandle(), szFull, sizeof(szFull)/sizeof(TCHAR));
  _tsplitpath_s(szFull,szDrive,sizeof(szDrive),szDir,sizeof(szDir),NULL,NULL,NULL,NULL);
  //_tsplitpath(szFull, szDrive, szDir, NULL, NULL);
  _tcscpy_s(szFull, szDrive);
  _tcscat_s(szFull, szDir);
   strPath = CString(szFull);

  strPath+="1.mp3";

UINT wDeviceID;  //device id
    MCIERROR mciError;  //
     MCI_DGV_PLAY_PARMS mciPlay;  //
  MCI_DGV_OPEN_PARMS mciOpen;
 mciOpen.lpstrDeviceType=_T("mpegvideo"); //Device Type
 mciOpen.lpstrElementName=strPath.GetBuffer();  // cstring StrPath is full path of your mp3 file.
 mciError=mciSendCommand(0, MCI_OPEN, MCI_OPEN_TYPE|MCI_OPEN_ELEMENT,(IN DWORD_PTR)&mciOpen); //open device.
    wDeviceID=mciOpen.wDeviceID;
    mciError=mciSendCommand(wDeviceID, MCI_PLAY, MCI_DGV_PLAY_REPEAT,(IN DWORD_PTR)&mciPlay); //play mp3 file
  

如果要关闭:   mciSendCommand(wDeviceID,MCI_CLOSE, NULL,NULL);
如果要停止:   mciSendCommand(wDeviceID,MCI_STOP, NULL,NULL);

 

相关文章推荐

简单的使用libmad的low-level api和portaudio写的播放mp3的小程序

libmad解码mp3估计是最好的开源解码器了吧?portaudio后端支持比较多,openal-soft也不错,如果喜欢音效可以考虑一下,这个都是跨平台的,这个程序应该是不用修改就可以在window...
  • ynsenyu
  • ynsenyu
  • 2015年11月28日 11:34
  • 753

每天学一点flash(76)百度MP3音乐APi接口使用

每天学一点flash(76)百度MP3音乐APi接口使用

IOS使用AVAudioPlayer播放mp3歌曲文件并监听来电打断

本实例实现了AVAudioPlayer播放mp3歌曲文件,实现了播放、暂停、继续操作,音乐音量控制、播放进度显示,同时监听来电打断事件 一、控件初始化 - (void)viewDi...

win mobile 5播放mp3音乐的方法(2)--libmad库的使用篇

win mobile 5播放mp3音乐的方法(2)--libmad库的使用篇   2010-07-16 15:14:26|  分类: wince |  标签: |字号大中小 订阅 ...

IOS使用AVAudioPlayer播放mp3歌曲文件并监听来电打断

本实例实现了AVAudioPlayer播放mp3歌曲文件,实现了播放、暂停、继续操作,音乐音量控制、播放进度显示,同时监听来电打断事件 一、控件初始化 - (void)viewDidLoad { ...

使用VLC及live555实现网页播放视频或mp3

参考资料:

使用TrackAudio播放AES加密的mp3

使用TrackAudio及Jlayer直接播放AES解密后的mp3音频流,不需要将解密文件保存到存储器上。...

mpg123解码MP3,使用DirectSound播放乐曲

鄙人新手程序员一枚,由于不是计算机专业的嘛,直到2013年7月份也就是一个大学计算机二级的水平。 毕业之后没方向,自己喜欢游戏,就想做游戏去,但是不想直接完全用人家现成的引擎。 游戏引擎的大头光影和物...

安卓使用SoundPool播放较短的声音MP3(短信铃声)

效果 代码 package com.javen.devicemange.CrazyOne.media; import android.media.AudioManager; impo...

[c++新手学习]windows下如何使用c++播放mp3

毫无疑问,c++本身无法播放声音。在windows下可以借助mci(媒体控制接口)播放MP3资源,并且很好的控制播放对象。如果你是C++新人,想写一个控制台下播放mp3的小程序,那么本文完全适合你。 ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用API FUNCTION 播放MP3.
举报原因:
原因补充:

(最多只允许输入30个字)