惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
Tenable Blog
H
Heimdal Security Blog
K
Kaspersky official blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
S
Schneier on Security
G
GRAHAM CLULEY
U
Unit 42
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
C
CERT Recently Published Vulnerability Notes
Google DeepMind News
Google DeepMind News
罗磊的独立博客
Stack Overflow Blog
Stack Overflow Blog
阮一峰的网络日志
阮一峰的网络日志
Simon Willison's Weblog
Simon Willison's Weblog
C
Cisco Blogs
Cyberwarzone
Cyberwarzone
T
The Exploit Database - CXSecurity.com
Project Zero
Project Zero
Security Archives - TechRepublic
Security Archives - TechRepublic
www.infosecurity-magazine.com
www.infosecurity-magazine.com
博客园 - 司徒正美
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
V
Visual Studio Blog
博客园 - Franky
Engineering at Meta
Engineering at Meta
WordPress大学
WordPress大学
Jina AI
Jina AI
P
Proofpoint News Feed
P
Proofpoint News Feed
有赞技术团队
有赞技术团队
L
LINUX DO - 最新话题
宝玉的分享
宝玉的分享
N
News and Events Feed by Topic
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
博客园 - 聂微东
T
The Blog of Author Tim Ferriss
Spread Privacy
Spread Privacy
Application and Cybersecurity Blog
Application and Cybersecurity Blog
IT之家
IT之家
S
Security Affairs
博客园 - 叶小钗
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
小众软件
小众软件
N
News | PayPal Newsroom
Cloudbric
Cloudbric
AWS News Blog
AWS News Blog
W
WeLiveSecurity
The Last Watchdog
The Last Watchdog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
NISL@THU
NISL@THU

博客园 - 闫磊博客

C#获取当前时间的各种格式 ArcEngine这本书怎么样 asp.net 中Session和Application使用 ASP.NET页面间的传值的几种方法 ArcGIS Engine开发-TOCControl中实现图层的拖动 asp.net学习日志 - 闫磊博客 - 博客园 C# 获取局域网内IP的MAC arcgis中数字模糊查询 - 闫磊博客 - 博客园 1:25万地形数据库数据说明 国土资源部2009.12.31 关于县(市)级土地调查数据库建库软件数据更新功能测试结果(第一批)的公告 arcgis python 列举所有dataset ListDatasets - 闫磊博客 arcgis python 列举所有栅格ListRasters - 闫磊博客 arcgis python 获得消息的个数 - 闫磊博客 arcgis python 获得参数个数 arcgis python 数据更新 - 闫磊博客 ColorRamp对象 生成色带 C#如何将dataGridView内容载入DataSet中 python 例子生成随机数,读文件 python获得当前目录下文件,并写到name.txt
Delphi中MediaPlayer控件的使用
闫磊博客 · 2010-02-10 · via 博客园 - 闫磊博客

MediaPlayer组件主要是用于控制MCI(MediaControlInterface)设备,该组件提供了一系列按钮用于控制诸如CD-ROM、MIDI、VCR等多媒体设备,这些多媒体设备可以是硬件也可以是软件。这些按钮在缺省情况下从左到右依次为:Play(播放)、Pause(暂停)、Stop(停止)、Next(下一个曲目)、Prev(前一个曲目)、Step(步进)、Back(后退)、Record(录音)、Eject(弹出媒体)等9个功能按钮。在用户自己开发的程序中,多媒体设备可以有两种方法实现以上9个功能,一种方法是将MediaPlayer组件放在窗体上,在程序运行时单击相应按钮;另一种方法是用与按钮相应的“方法”(Method)来实现这些功能。

以上9个按钮在视图和功能上均允许进行选择,使用者可以通过改变objectinspector(对象监视器)的属性页中的+VisibleButtons和+EnabledButtons属性来实现,使用者只需要双击此属性使其上的“+”变成“-”,然后在下面新出现子属性表中将相应的子属性的值赋给true/false即可。

MediaPlayer组件有许多的属性(property)和方法(method)。属性是程序设计时在objectinspector(对象监视器)中进行设置的,它无需开发程序的人自行编码(当然也可以在代码中进行属性设置);而方法是程序开发者在程序代码中必须用到的过程和函数等。在正常情况下,Delphi会将常用的属性设置为缺省值,这些值对于一般的开发来说已经足够了,但是有一些关键的属性值却是必须由使用者自己给定的。其中最重要的几个属性及其使用说明见下表:

MediaPlayer组件方法除了前面提到的对应9个按钮的方法外,Delphi还提供了MediaPlayer组件的一些很重要的方法,如open、save、rewind、resume、pauseOnly及close等,它们的使用详情如下:

1.open方法:

open方法用于打开一个多媒体设备。在调用该方法之前,必须确保在MediaPlayer组件的DeviceType(设备类型)属性中设定正确的多媒体设备类型。

【示例】以下代码用于在程序开始运行时就播放CD音乐。

procedureTForm1.FormCreat(Sender:Tobject);
begin
with MediaPlayer1 do
begin
DeviceType:=dtCDAudio;
Visible:=False;
open;
play;
end;
end;
2.Save方法:

Save方法用于将当前装入的媒体内容保存到由FileName属性指定的文件中。对于不能用媒体存取的设备(如Videodiscs),Save方法被忽略。

3.Rewind方法:

Rewind方法用于设定当前位置到媒体的开始处,也就是用Start属性保存的值的位置。

【示例】以下代码用到一个MediaPlayer组件和一个Button组件。当单击Button按钮时,WavAudio媒体返回开始处并进行播放。

procedureTForm1.FormClick(Sender:Tobject);
begin
MediaPlayer1.DeviceType:=dtWavAudio;
MediaPlayer1.fileName:='c:windowschimes.wav';
Button1.Caption:='返回并开始播放';
Button1.width:=125;
end;
procedureTForm1.Button1Click(Sender:Tobject);
begin
MediaPlayer1.Rewind;
MediaPlayer1.play;
end;

4.Resume方法:

Resume方法用于重新开始播放或录制当前被暂停的多媒体设备。

5.Close方法:

Close方法用于关闭当前已打开的多媒体设备。

6.PauseOnly方法:

PauseOnly方法仅仅用于暂停多媒体设备,如果该设备已经暂停,则当PauseOnly方法被调用时,设备仍旧保持暂停状态。

以上就是MediaPlayer组件最常用的属性和方法。如果您喜欢的话,在您的应用程序中就可以使用这些属性和方法实现多媒体的音频和视频效果。

来自:http://wenwen.soso.com/z/q153342405.htm