VC用MCI播放mp3等音乐文件
VC播放mp3等音乐文件,可以使用MCI。
MCI ( Media Control Interface ) ,即媒体控制接口,向基于Windows操作系统的应用程序提供了高层次的控制媒体设备接口的能力。
对于所有的命令都是通过mciSendCommand进行发送。
InfosystemShow中的CMyMCI类是对MCI各种操作的封装,包括打开、播放、暂停等操作,在主程序中,只需调用
CMyMCI m_myMCI;
m_myMCI.MCIOpen("E:\\Kalimba.mp3");
m_myMCI.MCIPlay();
while(1)
{
Sleep(1000);
}
m_myMCI.MCIClose();
即可完成对音乐的播放。
//打开MCI设备 参数为文件地址
DWORD CMyMCI::MCIOpen(const CString &strPath)
{
MCI_OPEN_PARMS mciOP;
DWORD dwReturn;
ASSERT(m_wID==NULL);
mciOP.lpstrDeviceType=NULL;
mciOP.lpstrElementName=strPath;
dwReturn=mciSendCommand(NULL,MCI_OPEN,MCI_OPEN_ELEMENT|MCI_WAIT|MCI_OPEN_SHAREABLE,
(DWORD)(LPVOID)&mciOP);
if (dwReturn==0)
{
m_wID=mciOP.wDeviceID;
if(this->MCIGetLength(&m_dwLength)!=0)
m_dwLength=0;
}
else
m_wID=NULL;
return dwReturn;
}
//关闭MCI设备
DWORD CMyMCI::MCIClose()
{
MCI_GENERIC_PARMS mciGP;
DWORD dwReturn;
dwReturn=mciSendCommand(m_wID,MCI_CLOSE,MCI_NOTIFY|MCI_WAIT,
(DWORD)(LPVOID)&mciGP);
m_wID=NULL;
return dwReturn;
}
//播放
DWORD CMyMCI::MCIPlay()
{
MCI_PLAY_PARMS mciPP;
return mciSendCommand(m_wID,MCI_PLAY,MCI_NOTIFY,
(DWORD)(LPVOID)&mciPP);
}
VC用MCI播放mp3等音乐文件的更多相关文章
- VC++中MCI播放音频文件 【转】
MCI播放mp3音频文件例程 源文件中需要包含头文件 Mmsystem.h,在Project->Settings->Link->Object/libray module中加入库 Wi ...
- mci播放mp3
1MIDI的播放---- 乐器数字化接口(MIDI)是由音乐界的一些大公司(包括生产电子音乐合成器的公司)制订的一项协议,后来被计算机产业所采用并成为多媒体音乐文件的标准格式.MIDI文件一般较小,对 ...
- WinForm中实现播放mp3 、mp4文件
来自:http://www.cnblogs.com/duanchen/p/4445478.html 1.在Vs2012 工具箱右键-->"选择项"-->"Co ...
- vc中播放mp3文件的方法小结
一般播放MP3常见的有两种方法,一种是自己解码,另外一种用系统的库,比如MCI,当然如果可以用控件直接用个控件会更方便. 1. 使用mci #include <windows.h> ...
- VC++ 中简单操作MP3音乐的方法,小结
#include <windows.h> #include <stdio.h> #include <mmsystem.h> #include <shellap ...
- 播放MP3
播放背景音乐 上文来自:http://blog.csdn.net/henulwj/article/details/8977738 using System; using System.Collecti ...
- [C++] 将 mp3 等音乐资源以资源形式嵌入 exe 文件中
引用:http://www.easyx.cn/skills/View.aspx?id=6 本文讲解怎样将 mp3 等音乐资源以资源形式嵌入 exe 文件中,并通过 mciSendString 调用.嵌 ...
- 在C语言控制台程序中播放MP3音乐
游戏没有声音多单调. 这里做一个简单的范例,用 mciSendString 函数播放 MP3 格式的音乐,先看看代码吧: // 编译该范例前,请把 background.mp3 放在项目文件夹中 // ...
- HTML5 Audio时代的MIDI音乐文件播放
大家都知道,HTML5 Audio标签能够支持wav, webm, mp3, ogg, acc等格式,但是有个很重要的音乐文件格式midi(扩展名mid)却在各大浏览器中都没有内置的支持,因为mid文 ...
随机推荐
- php 前台post多维数组
post多维数组时,在后台用$_POST接收不正常,应使用$_REQUEST
- 使用MYCAT轻松实现MYSQL水平分片
完整文章下载地址:http://download.csdn.net/detail/dreamcode/9383516 简单来说,我们能够将数据的水平切分理解为是依照数据行的切分.就是将表中的某些行切分 ...
- js apply / call 函数
这两个函数的作用是: 将函数绑定到另外一个对象上去运行 用call和apply应用另一个函数(类)以后,当前的函数(类)就具备了另一个函数(类)的方法或是属性,这也能够称之为“继承”. functio ...
- print函数详解及python打印99乘法表的不同方法
首先你需要了解print的原型,并且要知道在python2和python3中print函数功能不同,不只是表现在后面带不带()一方面! 在python3中,通过help(print)可以得到print ...
- python3 str和bytes转换
bytes object b = b"example" str object s = "example" #str to bytes bytes(s, enco ...
- LeetCode:乘法表中的第K小的数【668】
LeetCode:乘法表中的第K小的数[668] 题目描述 几乎每一个人都用 乘法表.但是你能在乘法表中快速找到第k小的数字吗? 给定高度m .宽度n 的一张 m * n的乘法表,以及正整数k,你需要 ...
- PAT 天梯赛 L2-009. 抢红包 【排序】
题目链接 https://www.patest.cn/contests/gplt/L2-009 思路 用结构体存储,然后结构体排序 注意一下 个人编号是从 1 开始 计数的 AC代码 #include ...
- ecmobile实现支付宝支付和百度云推送遇到的问题及解决方案(android)
1.首先检测支付账户是否开通快捷支付服务,如果开通后,那么公钥是否上传(支付宝问题一定要找支付宝客服解决,找其他人没有用,支付宝客服可以帮你分析底层原因) 2.修改app配置文件:alipay_cal ...
- JSP页面EL表达式不解析
问题是这样:在搭建springMVC环境的时候,笔者写了一个简单的Controller如下: @Controller public class HelloController { @RequestMa ...
- [原创]Scala学习:编写Scala脚本
scala支持脚本 1)在/opt/scala-script下创建一个文件hello.scala 编辑内容如下: $ hello ,this is the first scala script 2)运 ...