易语言模块 MCI多媒体播放类.ec
模块名称:MCI多媒体播放类(黑月测试)
版本:1.0
用于播放多媒体文件。支持的文件格式为目标操作系统中的win.ini的MCI Extensions或者MCI Extensions.BAK小节下所罗列的部分。
------------------------------
.版本 2
.子程序 模块_关闭所有媒体, 整数型, 公开, 关闭所有已经打开的媒体。注意:该操作对所有使用MCI进行播放的媒体都有效!返回0表示命令成功完成,返回非零表示命令失败。
.子程序 模块_毫秒到时间, 文本型, 公开, 将毫秒值转换为诸如:"3:03:12"之类的文本格式
.参数 参_毫秒值, 整数型
.子程序 模块_取错误信息文本, 文本型, 公开, 根据各种命令执行后返回的数值查询相应的文本说明。
.参数 参_错误代码, 整数型, , 支持类中对多媒体操作的各种方法的整型返回值
.数据类型 窗口矩形区域, 公开
.成员 左边, 整数型
.成员 顶边, 整数型
.成员 宽度, 整数型
.成员 高度, 整数型
.程序集 MCI多媒体播放类, , 公开, 使用MCI指令来播放多媒体文件。不支持RM/RMVB格式。本类中大部分方法若返回非零整数,可用取错误信息文本得到错误描述。
.子程序 播放媒体, 整数型, 公开, 播放多媒体文件。成功返回0,失败返回非零整数
.子程序 打开媒体, 整数型, 公开, 初始化媒体设备。进行其他多媒体操作之前必须使用的方法。成功返回0,失败返回非0
.参数 参_媒体文件名, 文本型, , 要打开的多媒体文件的完整路径
.参数 参_视频窗口句柄, 整数型, 可空, 若打开的是视频文件,则在此窗口显示画面。若不提供此参数,则不使用视频窗口。注意:z好提供窗口句柄而非组件句柄,因为组件可能会有画面刷新问题。
.子程序 关闭媒体, 整数型, 公开, 关闭已经打开的多媒体文件,正在播放的媒体会被立即停止,重新打开前后续操作将无效。成功返回0,失败返回非零整数
.子程序 继续媒体, 整数型, 公开, 继续播被暂停的多媒体文件。成功返回0,失败返回非零整数。
.子程序 取播放速度, 整数型, 公开, 返回与正常播放速度的比例。1000表示与正常速度相同,2000表示为正常速度的两倍
.子程序 取媒体声道, 整数型, 公开, 返回常量中以"声道_"开头的常量值。失败返回0
.子程序 取媒体位置, 整数型, 公开, 返回媒体文件播放的位置,已停止播放返回0,失败返回-1
.子程序 取媒体音量, 整数型, 公开, 返回系统当前的音量值。命令失败返回-1。媒体音量范围:0-1000,正整数
.子程序 取媒体长度, 整数型, 公开, 取得媒体文件的长度,失败返回0。单位:毫秒
.子程序 取媒体帧数, 整数型, 公开, 取得媒体文件的总帧数。失败返回0
.子程序 取媒体状态, 整数型, 公开, 返回常量中以“状态_”开头的整数。返回大于0的整数则表示命令失败,可用“MCI_取错误信息文本()”取回错误信息。
.子程序 取声道音量大小, 整数型, 公开, 取得当前媒体的声道音量大小。失败返回-1
.参数 参_声道类型, 整数型, , 1、左声道2、右声道。不接受其他值
.子程序 取视频窗口句柄, 整数型, 公开, 取得当前媒体文件播放时视频画面的窗口句柄。没有视频或者获取失败则返回0
.子程序 取视频区域, 窗口矩形区域, 公开, 取得视频画面的位置。注意:全屏播放时不能通过此命令得到位置信息
.子程序 取视频源, 整数型, 公开
.子程序 取视频字节流速率, 整数型, 公开, 单位Byte/s
.子程序 全屏模式, 整数型, 公开, 如果有视频画面,此方法方有效。备注:目前此方法尚不完美。要响应视频窗口消息,用本类方法取出视频窗口句柄并自行操作。待解决
.参数 参_是否全屏, 逻辑型, , 真=全屏;假=还原。默认为假
.子程序 是否为视频, 逻辑型, 公开, 如果打开的媒体包含视频信息则返回真,否则返回假。
.子程序 是否已就绪, 逻辑型, 公开, 调用 打开媒体 方法后,可使用此方法获取设备的状态
.子程序 跳到指定帧, 整数型, 公开, 成功返回0,失败返回非零。
.参数 参_帧位置, 整数型, , 播放位置必须小于总帧数,否则可能会造成命令失败。
.参数 参_是否立即播放, 逻辑型, 可空, 调整媒体当前位置后是否立即继续播放。为假或者省略本参数将跳到指定位置后暂停播放
.子程序 停止媒体, 整数型, 公开, 停止媒体的播放,将媒体的当前播放进度调整为0。命令成功返回0,失败返回非零整数
.子程序 系统静音, 整数型, 公开, 关闭当前系统的声音输出。成功返回0,失败返回非零整数
.参数 参_是否静音, 逻辑型, 可空
.子程序 暂停媒体, 整数型, 公开, 暂停媒体播放,成功返回0。该媒体必须已经被打开或者播放,否则返回非零整数(失败)
.子程序 置播放速度, 整数型, 公开, 设置当前媒体的播放速度。成功返回0,失败返回非零整数。注意:并非所有媒体都支持速度调整
.参数 参_播放速度, 整数型, , 1到2000之间的整数。原始速度为1000。2000为原始速度的2倍,500为原始速度的一半。警告:过慢的速度将导致媒体看起来已经停止了
.子程序 置媒体声道, 整数型, 公开, 执行成功返回0,否则返回非零整数。
.参数 参_声道类型, 整数型, , 提供常量中以“声道_”开头的整型数值
.子程序 置媒体位置, 整数型, 公开, 设置媒体当前播放的位置。成功返回0,失败返回非零整数。单位:毫秒
.参数 参_播放位置, 整数型, , 播放位置必须小于媒体长度,否则可能会造成命令失败。单位:毫秒
.参数 参_是否立即播放, 逻辑型, 可空, 调整媒体当前位置后是否立即继续播放。为假或者省略本参数将跳到指定位置后暂停播放
.子程序 置媒体音量, 整数型, 公开, 执行成功返回0,否则返回非零的整数。说明:执行后的实际音量可能最多±2的误差,这里设置的是系统的音量值
.参数 参_媒体音量, 整数型, , 范围0-1000,必须为正整数。不符合此规则将导致命令失败。
.子程序 置声道音量大小, 整数型, 公开, 设置当前打开的媒体的音量值。0-1000之间的整数
.参数 参_声道类型, 整数型, , 1、左声道2、右声道。不接受其他值
.参数 参_音量大小, 整数型, , 0-1000之间的整数
.子程序 置视频窗口, 整数型, 公开, 返回0表示成功,返回非零表示失败
.参数 参_窗口句柄, 整数型, , 强烈建议提供一个“窗口”的句柄,而非组件的句柄
.子程序 置视频区域, 整数型, 公开, 设置视频显示的区域。本方法只应用于非系统自动创建的视频窗口。返回0表示成功,返回非零表示失败
.参数 参_视频画面位置, 窗口矩形区域, 可空, 设置视频画面的位置。留空则默认充满整个视频窗口的客户区(视频窗口必须未被最小化)。
.DLL命令 API_发送MCI文本, 整数型, "winmm.dll", "mciSendStringA", 公开, 向MCI设备发出一条命令字符串
.参数 lpstrCommand, 文本型, , 要发送的MCI文本
.参数 lpstrReturnString, 文本型, 传址, 存放返回文本的容器,必须先初始化为适当长度的文本。若不需要接受返回的文本,直接提供一个文本型常量也可。
.参数 uReturnLength, 整数型, , 返回文本的z大长度,或设为0(不需要返回文本)
.参数 hwndCallback, 整数型, , 接收“wait”、“notify”消息的窗口句柄。基本上用不着,保持为0即可
.DLL命令 API_获取MCI错误信息, 整数型, "winmm.dll", "mciGetErrorStringA", 公开, 返回MCI出错代码的文本描述
.参数 错误代码, 整数型
.参数 文本缓冲区, 文本型, 传址, 装载错误文本信息的容器,必须先初始化为适当长度的文本。
.参数 文本长度, 整数型, , 错误文本信息的z大长度,超过此长度将被自动抛弃
.DLL命令 API_取客户区矩形, 整数型, "user32", "GetClientRect", 公开, 返回指定窗口客户区矩形的大小 非零表示成功,零表示失败。会设置GetLastError
.参数 窗口句柄, 整数型, , 欲计算大小的目标窗口
.参数 矩形区域, 窗口矩形区域, 传址, 指定一个矩形,用客户区域的大小载入(以像素为单位);
.DLL命令 API_执行MCI命令, 整数型, "winmm.dll", "mciExecute", 公开, 执行MCI设备命令
.参数 lpstrCommand, 文本型, , MCI命令
.常量 声道_均衡, "4", 公开
.常量 声道_立体声, "3", 公开
.常量 声道_右声道, "2", 公开
.常量 声道_左声道, "1", 公开
.常量 状态_播放, "0", 公开
.常量 状态_停止, "-2", 公开
.常量 状态_未知, "-3", 公开
.常量 状态_暂停, "-1", 公开
页:
[1]