//打开设备
//typedef struct {
//DWORD dwCallback;        //指定一个窗口句柄
//MCIDEVICEID wDeviceID;   //为成功打开的文件返回 设备标识符. 
//LPCSTR lpstrDeviceType;  //设备类型的名字或常量标识. (设备名可以从注册表或者 SYSTEM.INI 文件中获得) 
//LPCSTR lpstrElementName; //设备元素 (通常是打开的文件全路径). 
//LPCSTR lpstrAlias//可选别名
//DWORD dwBufferSeconds;
//} MCI_WAVE_OPEN_PARMS;

//播放文件
//typedef struct {
//DWORD dwCallback;//指定一个窗口句柄
//DWORD dwFrom;//设置播放起始点
//DWORD dwTo;//设置播放结束点
//} MCI_PLAY_PARMS;

//查询信息
//typedef struct {
//DWORD dwCallback;
//DWORD dwReturn;//返回的信息内容
//DWORD dwItem;//请求查询的内容
//DWORD dwTrack;//轨道的长度或数目
//} MCI_STATUS_PARMS;

/*
 * 函数名称:MCI_Open
 * 函数介绍:用mci命令打开文件
 * 输入参数:CString strPath, 文件的路径
 * 输出参数:无
 * 返回值 :mci命令的错误信息
 */

  1. DWORD dlg_login::MCIOpen(const CString &strPath)
  2. {
  3. //打开MCI设备
  4. MCI_OPEN_PARMS mciOP;
  5. DWORD opReturn;
  6. MCIDEVICEID wIDDevioce;  //保存设备ID
  7. mciOP.lpstrDeviceType = NULL;
  8. mciOP.lpstrElementName = strPath;  //设置打开的文件的名称
  9. opReturn = mciSendCommand(NULL, MCI_OPEN, MCI_OPEN_ELEMENT, (DWORD)(LPVOID)&mciOP);
  10. if (opReturn == 0)
  11. {
  12. wIDDevioce = mciOP.wDeviceID;//播放设备Id
  13. wDevioceId = mciOP.wDeviceID;
  14. //设置设备信息
  15. MCI_SET_PARMS mciSet;
  16. mciSet.dwTimeFormat = MCI_FORMAT_MILLISECONDS; //设置时间单位为毫秒
  17. mciSendCommand(wDevioceId, MCI_SET, MCI_SET_TIME_FORMAT, (DWORD)(LPVOID)&mciSet);
  18. //设置当前播放位置跳转60秒
  19. MCISeek(100);
  20. //音频播放
  21. MCIPlay();
  22. MCI_STATUS_PARMS mciStatus;
  23. mciStatus.dwItem = MCI_STATUS_TIME_FORMAT;
  24. DWORD sta2Return = mciSendCommand(wIDDevioce, MCI_STATUS, MCI_STATUS_ITEM, (DWORD)(LPVOID)&mciStatus);
  25. DWORD music_timestyle = mciStatus.dwReturn; //获得当前的时间格式
  26. mciStatus.dwItem = MCI_STATUS_MODE;
  27. DWORD sta3Return = mciSendCommand(wIDDevioce, MCI_STATUS, MCI_STATUS_ITEM, (DWORD)(LPVOID)&mciStatus);
  28. DWORD music_playstyle = mciStatus.dwReturn; //获得当前播放工作模式 播放 526  暂停525
  29. }
  30. else
  31. wIDDevioce = NULL;
  32. return opReturn;
  33. }
DWORD dlg_login::MCIOpen(const CString &strPath)
{
//打开MCI设备
MCI_OPEN_PARMS mciOP;
DWORD opReturn;
MCIDEVICEID wIDDevioce; //保存设备ID
mciOP.lpstrDeviceType = NULL;
mciOP.lpstrElementName = strPath; //设置打开的文件的名称
opReturn = mciSendCommand(NULL, MCI_OPEN, MCI_OPEN_ELEMENT, (DWORD)(LPVOID)&mciOP);
if (opReturn == 0)
{
wIDDevioce = mciOP.wDeviceID;//播放设备Id
wDevioceId = mciOP.wDeviceID; //设置设备信息
MCI_SET_PARMS mciSet;
mciSet.dwTimeFormat = MCI_FORMAT_MILLISECONDS; //设置时间单位为毫秒
mciSendCommand(wDevioceId, MCI_SET, MCI_SET_TIME_FORMAT, (DWORD)(LPVOID)&mciSet); //设置当前播放位置跳转60秒
MCISeek(100);
//音频播放
MCIPlay(); MCI_STATUS_PARMS mciStatus;
mciStatus.dwItem = MCI_STATUS_TIME_FORMAT;
DWORD sta2Return = mciSendCommand(wIDDevioce, MCI_STATUS, MCI_STATUS_ITEM, (DWORD)(LPVOID)&mciStatus);
DWORD music_timestyle = mciStatus.dwReturn; //获得当前的时间格式 mciStatus.dwItem = MCI_STATUS_MODE;
DWORD sta3Return = mciSendCommand(wIDDevioce, MCI_STATUS, MCI_STATUS_ITEM, (DWORD)(LPVOID)&mciStatus);
DWORD music_playstyle = mciStatus.dwReturn; //获得当前播放工作模式 播放 526 暂停525
}
else
wIDDevioce = NULL;
return opReturn;
}
  1. DWORD dlg_login::MCIPlay()
  2. {
  3. MCI_PLAY_PARMS mciPP;
  4. DWORD opReturn;
  5. opReturn = mciSendCommand(wDevioceId, MCI_PLAY, MCI_NOTIFY, (DWORD)&mciPP);
  6. return opReturn;
  7. }
DWORD dlg_login::MCIPlay()
{
MCI_PLAY_PARMS mciPP;
DWORD opReturn;
opReturn = mciSendCommand(wDevioceId, MCI_PLAY, MCI_NOTIFY, (DWORD)&mciPP);
return opReturn;
}
  1. DWORD dlg_login::MCIStatus_music_length()
  2. {
  3. MCI_STATUS_PARMS mciStatus;
  4. mciStatus.dwItem = MCI_STATUS_LENGTH;
  5. DWORD staReturn = mciSendCommand(wDevioceId, MCI_STATUS, MCI_STATUS_ITEM, (DWORD)(LPVOID)&mciStatus);
  6. DWORD music_alltime = mciStatus.dwReturn / 1000; //音乐总时间
  7. return music_alltime;
  8. }
DWORD dlg_login::MCIStatus_music_length()
{
MCI_STATUS_PARMS mciStatus;
mciStatus.dwItem = MCI_STATUS_LENGTH;
DWORD staReturn = mciSendCommand(wDevioceId, MCI_STATUS, MCI_STATUS_ITEM, (DWORD)(LPVOID)&mciStatus);
DWORD music_alltime = mciStatus.dwReturn / 1000; //音乐总时间
return music_alltime;
}
  1. DWORD dlg_login::MCIStatus_music_pos()
  2. {
  3. MCI_STATUS_PARMS mciStatus;
  4. mciStatus.dwItem = MCI_STATUS_POSITION;
  5. DWORD sta1Return = mciSendCommand(wDevioceId, MCI_STATUS, MCI_STATUS_ITEM, (DWORD)(LPVOID)&mciStatus);
  6. DWORD music_timeing = mciStatus.dwReturn / 1000; //音乐当前播放时间
  7. return music_timeing;
  8. }
DWORD dlg_login::MCIStatus_music_pos()
{
MCI_STATUS_PARMS mciStatus;
mciStatus.dwItem = MCI_STATUS_POSITION;
DWORD sta1Return = mciSendCommand(wDevioceId, MCI_STATUS, MCI_STATUS_ITEM, (DWORD)(LPVOID)&mciStatus);
DWORD music_timeing = mciStatus.dwReturn / 1000; //音乐当前播放时间
return music_timeing;
}
  1. //从制定位置开始播放
  2. void send_music_from_pos()
  3. {
  4. MCI_STATUS_PARMS mciStatus;
  5. mciStatus.dwItem = MCI_STATUS_POSITION;
  6. DWORD sta1Return = mciSendCommand(wDevioceId, MCI_STATUS, MCI_STATUS_ITEM, (DWORD)(LPVOID)&mciStatus);
  7. DWORD music_timeing = mciStatus.dwReturn / 1000; //音乐当前播放时间
  8. MCI_PLAY_PARMS PlayParms;
  9. PlayParms.dwFrom = music_timeing; // 指定从什么地方(时间)播放
  10. DWORD ret1 = mciSendCommand(wDevioceId, MCI_PLAY, MCI_NOTIFY, (DWORD)(LPVOID)&PlayParms);
  11. }
//从制定位置开始播放
void send_music_from_pos()
{
MCI_STATUS_PARMS mciStatus;
mciStatus.dwItem = MCI_STATUS_POSITION;
DWORD sta1Return = mciSendCommand(wDevioceId, MCI_STATUS, MCI_STATUS_ITEM, (DWORD)(LPVOID)&mciStatus);
DWORD music_timeing = mciStatus.dwReturn / 1000; //音乐当前播放时间
MCI_PLAY_PARMS PlayParms;
PlayParms.dwFrom = music_timeing; // 指定从什么地方(时间)播放
DWORD ret1 = mciSendCommand(wDevioceId, MCI_PLAY, MCI_NOTIFY, (DWORD)(LPVOID)&PlayParms);
}

//关闭指定设备

  1. void close_mci()
  2. {
  3. DWORD retclose=mciSendCommand(wDevioceId, MCI_CLOSE, NULL, NULL);
  4. }
void close_mci()
{
DWORD retclose=mciSendCommand(wDevioceId, MCI_CLOSE, NULL, NULL);
}
  1. //调节音量
  2. DWORD dlg_login::MCISetVolume(DWORD dwVol)
  3. {
  4. MCI_DGV_SETAUDIO_PARMS  mciSetAudioPara;
  5. mciSetAudioPara.dwCallback  = NULL;
  6. mciSetAudioPara.dwItem   = MCI_DGV_SETAUDIO_VOLUME;
  7. mciSetAudioPara.dwValue  = dwVol; //此处就是音量大小 (0--1000)
  8. DWORD dwReturn = mciSendCommand(wDevioceId, MCI_SETAUDIO, MCI_DGV_SETAUDIO_VALUE |  MCI_DGV_SETAUDIO_ITEM, (DWORD)(LPVOID)&mciSetAudioPara);
  9. return dwReturn;
  10. }
//调节音量
DWORD dlg_login::MCISetVolume(DWORD dwVol)
{
MCI_DGV_SETAUDIO_PARMS mciSetAudioPara;
mciSetAudioPara.dwCallback = NULL;
mciSetAudioPara.dwItem = MCI_DGV_SETAUDIO_VOLUME;
mciSetAudioPara.dwValue = dwVol; //此处就是音量大小 (0--1000)
DWORD dwReturn = mciSendCommand(wDevioceId, MCI_SETAUDIO, MCI_DGV_SETAUDIO_VALUE | MCI_DGV_SETAUDIO_ITEM, (DWORD)(LPVOID)&mciSetAudioPara);
return dwReturn;
}

jpg改rar 

mciSendCommand 音频视频播放命令函数的更多相关文章

  1. CS中调用微软自带com组件实现音频视频播放(wf/wpf)

    1.mp3播放器:工具箱中右键,在弹出的菜单中选择“选择项”,添加“com组件”,选择名称“windows Media Player",点击确定就会在工具箱新增一个“windows Medi ...

  2. shell中的内建命令, 函数和外部命令

    转自shell中的内建命令, 函数和外部命令 Shell识别三种基本命令:内建命令.Shell函数以及外部命令: (1)内建命令就是由Shell本身所执行的命令.    有些命令是由于其必要性才内建的 ...

  3. HTML5学习总结-04 音频&视频播放

    一 音频播放 1 Audio(音频) HTML5提供了播放音频文件的标准 2 control(控制器) control属性攻添加播放,暂停和音量空间. 3 标签定义声音 <audio> 例 ...

  4. php 执行linux 命令函数

    php的内置函数exec,system都可以调用系统命令(shell命令),当然还有passthru,escapeshellcmd等函数. 在很多时候利用php的exec,system等函数调用系统命 ...

  5. 关于exec命令函数

    exec执行某命令在命令行下没有问题,但是在php中就出错.这个问题99.99%与权限有关,但是exec执行的命令不会返回错误.一个技巧就是使用管道命令,假设你的exec调用如下: exec('con ...

  6. PHP执行系统外部命令函数:exec()、passthru()、system()、shell_exec()

    php提供4种方法执行系统外部命令:exec().passthru().system(). shell_exec().在开始介绍前,先检查下php配置文件php.ini中是有禁止这是个函数.找到 di ...

  7. PHP在Linux下Apache环境中执行exec,system,passthru等服务器命令函数

    更多内容推荐微信公众号,欢迎关注: 若在服务器中使用php test.php运行exec,system,passthru等命令相关的脚本能成功运行,在web页面却没反应, [可能是服务器端,PHP脚本 ...

  8. 【转】shell中的内建命令, 函数和外部命令

    原文:http://www.cnblogs.com/xkfz007/archive/2011/10/13/2209571.html linux命令有内部命令和外部命令之分.内部命令实际上是shell程 ...

  9. FFMPEG 音频转换命令

    音频转换: .转换amr到mp3: ffmpeg -i shenhuxi.amr amr2mp3.mp3 .转换amr到wav: ffmpeg -acodec libamr_nb -i shenhux ...

随机推荐

  1. 用户 'NT AUTHORITY\IUSR' 登录失败

    今天在用VS20012发布XAF ASP.NET的程序时,在iis 调用SQLSERVER Express2008数据库时,总是出现错误“用户 'NT AUTHORITY\IUSR' 登录失败”,后来 ...

  2. appium 1.6.3 + ios 10.2 + xcode 8.2.1 真机运行iphone app

    appium命令行启动: appium --address "127.0.0.1" --session-override --pre-launch --debug-log-spac ...

  3. Java compiler level does not match the version of the installed Java project fac

    Java compiler level does not match the version of the installed Java project fac 问题一: 问:项目图标报错,Probl ...

  4. p4n 今天与朋友沟通支付云服务普及以及跨境电子商务的光辉前景

    p4n 今天与朋友沟通支付云服务普及以及跨境电子商务的光辉前景 跨境电子商务也是个光忙四色和的跨境电子商务啊..支付项目也是个强大的项目.. 过几天我们就要宣布正式发布atipay ,并宣称将致力于推 ...

  5. 基于Vivado的嵌入式开发 ——PS+PL实践

    基于Vivado的嵌入式开发 ——PS走起 硬件平台:ZedBoard 开发工具:Vivado 2014.2 1.规划 废话不多说,依然是流水灯,这次是采用PS+PL实现. 功能依旧简单,目标是为了学 ...

  6. [转]使用jquery-webcam插件,实现人脸采集并转base64

    项目需求:在ie或chrome浏览器下,调用电脑摄像头(确保使用的是笔记本电脑,或者摄像头功能正常使用的台式机),进行人脸图像采集预览,并将图片的base64码传入到后台进行后续操作.该demo适用于 ...

  7. Mac里面如何设置自启动服务

    Mac OS x 启动项设置 Mac OS X的启动原理: 1,mac固件激活,初始化硬件,加载BootX引导器. 2,BootX加载内核与内核扩展(kext). 3,内核启动launchd进程. 4 ...

  8. 快速创建各种类型的NSAttributeString和NSMutableParagraphStyle

      NSDictionary *attributes = @{ NSForegroundColorAttributeName : [ UIColorredColor ], NSFontAttribut ...

  9. 改变placeholder的样式

    input::-webkit-input-placeholder{ font-size:12px; color:#d2d2d2 }

  10. layui单文件上传

    function imguload(cls) { var taskId = $("#model-taskId").val(); var processInstanceId = $( ...