使用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...

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

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

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

使用URLRequest获取MP3并进行播放的例子 .

通过URL地址获取一个MP3并进行播放的例子 首先使用URLRequest获取MP3 然后使用sound对象load方法读取 最后使用soundChannel对象进行播放 将这个方法编写成一个类 ...

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 { ...

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

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

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

参考资料:

使用TrackAudio播放AES加密的mp3

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

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

毫无疑问,c++本身无法播放声音。在windows下可以借助mci(媒体控制接口)播放MP3资源,并且很好的控制播放对象。如果你是C++新人,想写一个控制台下播放mp3的小程序,那么本文完全适合你。 ...

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

效果 代码 package com.javen.devicemange.CrazyOne.media; import android.media.AudioManager; impo...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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