mciSendCommand 音频视频播放命令函数

//打开设备

//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命令的错误信息

*/

[cpp] view plain copy

print?

  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;
}

[cpp] view plain copy

print?

  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;
}

[cpp] view plain copy

print?

  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;
}

[cpp] view plain copy

print?

  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;
}

[cpp] view plain copy

print?

  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);
}

//关闭指定设备

[cpp] view plain copy

print?

  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);
}

[cpp] view plain copy

print?

  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 

时间: 2024-10-27 01:07:12

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

PHP执行命令函数

目标:简单的学习几个PHP中执行命令函数. 1.exec() 函数 参考地址:https://www.php.net/manual/zh/function.exec.php (PHP 4, PHP 5, PHP 7) exec — 执行一个外部程序 格式:exec ( string $command [, array &$output [, int &$return_var ]] ) : string 该函数可执行系统命令,命令执行结果的最后一行内容. 如果你需要获取未经处理的全部输出数据

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

若在服务器中使用php test.php运行exec,system,passthru等命令相关的脚本能成功运行,在web页面却没反应,则 查看下apache的error_log日志,一般是这几个函数 system() has been disabled for security reasons in /var/www/html/test.php on line 34 报错了. 看下php.ini中的disable_functions 有没有禁用了这些函数,删除禁用后保存. 重启下php和Apac

关于exec命令函数

exec执行某命令在命令行下没有问题,但是在php中就出错.这个问题99.99%与权限有关,但是exec执行的命令不会返回错误.一个技巧就是使用管道命令,假设你的exec调用如下: exec('convert a.jpg b.jpg', $output, $return_val); 可以更改如下: exec('convert a.jpg b.jpg 2>&1', $output, $return_val); print_r($output); 使用 2>&1, 命令就会输出sh

FFMPEG 音频转换命令

音频转换: 1.转换amr到mp3: ffmpeg -i shenhuxi.amr amr2mp3.mp3 2.转换amr到wav: ffmpeg -acodec libamr_nb -i shenhuxi.amr amr2wav.wav 3.转换mp3到wav: ffmpeg -i DING.mp3 -f wav test.wav 4.转换wav到amr: ffmpeg -i test.wav -acodec libamr_nb -ab 12.2k -ar 8000 -ac 1 wav2amr

ffmpeg 音频常用命令

ffmpeg的使用方式: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}... Stream specifier Some options are applied per-stream, e.g. bitrate or codec. Stream specifiers are used to precisely specify which stream(s) a given option b

【php】PHP执行系统外部命令函数:exec()、passthru()、system()、shell_exec()

php提供4种方法执行系统外部命令:exec().passthru().system(). shell_exec().在开始介绍前,先检查下php配置文件php.ini中是有禁止这是个函数.找到 disable_functions,配置如下: disable_functions = 如果“disable_functions=”后面有接上面四个函数,将其删除.默认php.ini配置文件中是不禁止你调用执行外部命令的函数的. 方法一:exec() function exec(string $comm

学习总结HTML5- 00 音频&视频播放

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

音频视频播放(jquery中将jquery方法转化成js方法)

在jQuery中没有音频视频直接播放的方法,我们在写音频视频时,应该将jquery的方法转化为js方法:play():pause() 补充:   将jq对象转化成js对象写法: var music=$("#music")[0];//将jq转化为js对象: 将js对象转化成jq对象: 这个对象已经存在,则只需要在此对象上加上$(),也即是$(对象) 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head&

python 实现远程主机执行命令函数

#!/usr/bin/python # coding=utf-8 import os import paramiko \\定义 h_name 远程主机名 h_cmd 执行的命令 def remote_cmd(h_name,h_cmd): sshadd = h_name sshusr = 'root' sshpwd = 'YourPasswd' sshport = 22 sen1 = 'export JAVA_HOME= YourJdkPath ;' sen2 = '命令1;' sen3 = '命