| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 732 人关注过本帖
标题:VFP探讨之OLE控件(三):多媒体控制器(上)
取消只看楼主 加入收藏
taifu945
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:80
帖 子:1545
专家分:3298
注 册:2012-7-6
结帖率:100%
收藏
 问题点数:0 回复次数:1 
VFP探讨之OLE控件(三):多媒体控制器(上)
    多媒体控制器的控件名称是Microsoft Multimedia Control,对应的文件是:mci32.ocx,通常位于Windows主目录下的System32文件夹中。它的属性调用语法与FoxPro标准控件相同:对象名.属性名。
    它的主要属性如下:
    Command:设置控件的动作,属性值为字符型。主要的值有:Open-->打开一个设备(该值很重要,任何设备的播放都需要先打开);Close-->关闭一个设备;Play-->播放一个多媒体文件;Pause-->暂停(继续播放时从中断处开始);Stop-->停止播放(继续播放时从头开始);Prev-->定位到当前曲目或上一曲目(需要在3秒内第2次执行该命令)的开头;Next-->定位到下一曲目的开头(如果已是最后一个曲目,则定位到当前曲目的开头);Seek-->寻找曲目中播放的位置;Eject-->弹出设备(通常用于弹出CD驱动器的托盘);
    DeviceType:设置控件对应的多媒体类型,属性值为字符型。主要的值有:cdaudio-->CD播放器;mpegvideo-->VCD播放器;Sequencer-->MID播放器(播放.mid音频文件);AVIVideo-->AVI播放器(播放.avi视频文件,没有声音输出);Waveaudio-->波形文件播放器(播放.wav音频文件);
    FileName:设置要播放的文件名,属性值为字符型。该属性非常重要,先要设定完文件名,才能执行Command=”Open”进行打开。如果播放CD,且从第一个曲目开始,可以将该属性设置为:FileName=”Track01.cda”。然后播放器会自动从头到尾播放所有曲目;
    Length:返回一个媒体文件的长度,属性值为数值型;
    Mode:返回媒体的状态,属性值为数值型。设计时不可用,运行时只读。主要的值有:524-->没有打开(还没有执行Command=”open”);525-->停止(执行了Command=”stop”);526-->正在播放(执行了Command=”play”);529-->暂停(执行了Command=”pause”);530-->设备已准备好(执行了Command=”open”);
    Position:返回媒体当前播放到的位置,属性值为数值型。设计时不可用,运行时只读;
    To:设置媒体播放点要到达的地方,属性值为数值型;
    UpdateInterval:设置两次StatusUpdate事件之间的毫秒数,也即,间隔多少时间周期执行一次StatusUpdate事件,属性值为数值型。该属性类似于FoxPro标准控件Timer的Interval属性。
    多媒体控件的主要事件就是一个StatusUpdate事件,该事件类似于FoxPro标准控件Timer的Timer事件。
    一般,该控件不在表单中显示出来,只是用来播放多媒体文件,各类开关都用FoxPro标准控件CommandButton来代替(会在“多媒体控制器(中)”讲到)。

    举个简单的关于背景音乐的例子:要求表单打开就有背景音乐播放,设置一个开关,点击可以关闭或打开背景音乐。
图片附件: 游客没有浏览图片的权限,请 登录注册

Form1.Init事件:
CLEAR MEMORY
SET TALK OFF
SET COMPATIBLE OFF

WITH This
   .AutoCenter= .T.
   .BorderStyle= 2
   .Icon="Image\Ringtones.ico"
   .MaxButton= .F.
   .MinButton= .F.
   .Caption="背景音乐"
   WITH .开关
      .BackStyle=0
      .Caption="背景音乐开"
      .FontSize=10
      .Value=.T.
   ENDWITH
   WITH .播放器
      .Visible=.F.
      .Parent.开关.Click
   ENDWITH
ENDWITH

开关.Click:
IF This.Value THEN &&如果值为真,则播放背景音乐
   WITH ThisForm.播放器
      .FileName="Music\Sound Of Silence(钢琴曲).wav"
      .Command="open"
      .Command="play"
   ENDWITH
ELSE
   ThisForm.播放器.Command="close"
ENDIF
    关闭背景音乐的播放直接用Command=”close”就行了,因为“close”兼有“stop”的功能。
    上传的附件中拿掉了音乐文件,因为实在太大了。有兴趣的可以自己修改一下复选框Click事件中的音乐文件名来播放试听。
背景音乐.rar (107.73 KB)



[ 本帖最后由 taifu945 于 2014-4-8 14:17 编辑 ]
搜索更多相关主题的帖子: Microsoft Windows 多媒体 控制器 文件夹 
2014-04-08 14:10
taifu945
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:80
帖 子:1545
专家分:3298
注 册:2012-7-6
收藏
得分:0 
呵呵,我也这么认为。只是这论坛的服务器让我贴点附件真头疼,要弄好几遍。
2014-04-08 14:26
快速回复:VFP探讨之OLE控件(三):多媒体控制器(上)
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023153 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved