使用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);

 

linux播放MP3.。。

http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm下个软件包。然后系统自己会下依赖包...
  • my123spring
  • my123spring
  • 2011年04月02日 15:29
  • 596

使用API函数播放MP3等音频文件的类设计(C#)

        C#没有提供播放MP3等音频文件的类,要编写播放MP3等音频文件程序,必须使用第三方控件或类。本文使用API函数mciSendString,编写一个播放MP3等音频文件的类。 具体源码...
  • vbprog
  • vbprog
  • 2005年01月07日 00:45
  • 764

使用windows API播放声音文件(wav、mp3)等

软件:      vs2010 工程:     控制台程序(空工程) 代码如下: /* mciSendCommand播放音乐,调用简单,功能强大,但是它只能同时播放一个 文件,而...
  • woshiyuanlei
  • woshiyuanlei
  • 2015年05月31日 20:02
  • 2912

用API播放音频及视频文件

如果想在Windows下播放音频或视频文件,可以使用API函数中的mciSendString实现,非常简单。   源代码如下: /**********************************...
  • goodname008
  • goodname008
  • 2004年07月13日 18:05
  • 4491

Android利用有道API播放英文发音

定义一个Service 例如AudioService 继承自android.app.ServiceAudioService.javapackage com.outsider.service;impo...
  • tz_yhj
  • tz_yhj
  • 2017年01月16日 21:35
  • 708

c#用mcisendstring API播放mp3

using System;using System.Collections.Generic;using System.Text;using System.Runtime.InteropServices...
  • baihe_591
  • baihe_591
  • 2008年06月28日 12:03
  • 8074

Windows平台下的播放波形文件的API

一 问题    最近公司一哥们,在钻研《Windows程序设计》,忽然问偶,说MessageBeep怎么是哑巴,不会出声呢,呵呵,我以前也用过这个鸟API,记得也没成功,觉得这是个一般的小问题,就没...
  • henan_lujun
  • henan_lujun
  • 2013年05月23日 14:03
  • 2110

facebook FB.api()使用

1、FB.api(url, method, params, callback); #get objects 2、FB.api('/me?fields=id,name,gender'); //查...
  • q549244663
  • q549244663
  • 2016年12月21日 11:08
  • 1240

Win32 播放MP3

#include #pragma comment(lib, "winmm.lib") bool PlayMP3(char * szFileName);MCI_OPEN_PARMS m_mciOpe...
  • PandaOS
  • PandaOS
  • 2015年12月26日 21:02
  • 1053

Angularjs API整理(一) function篇

根据 http://docs.ngnice.com/api/ng 网址下的  英文API文档进行学习归纳和总结。   function篇,就理解成是在  js 文件中  或者 中才会被使用的 ang...
  • qq_30073735
  • qq_30073735
  • 2017年04月28日 09:43
  • 3294
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用API FUNCTION 播放MP3.
举报原因:
原因补充:

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