Delphi MediaPlayer调整大小

时间:2014-09-22 15:56:33

标签: delphi delphi-xe6

我有一个简单的表单,使用媒体播放器和媒体播放器控件组件加载和播放视频。有没有办法使用滚动条或RAD Studio XE6中的类似内容调整播放视频的大小。

2 个答案:

答案 0 :(得分:0)

调整大小通常通过调整托管视口的窗体大小来完成,而不是使用滚动条。尝试将媒体播放器放在一个相当大的形式或面板上,四边都有锚点,这样当你调整窗体的边角时它就会膨胀和收缩。

答案 1 :(得分:0)

您可以通过调整DisplayRect属性来实现ZoomIn或ZoomOut功能的排序:

http://docwiki.embarcadero.com/Libraries/XE6/en/Vcl.MPlayer.TMediaPlayer.DisplayRect

首先,您可能希望将DisplayRect设置为使用Display属性选择作为渲染目标的控件/组件的大小:

http://docwiki.embarcadero.com/Libraries/XE6/en/Vcl.MPlayer.TMediaPlayer.Display

为了避免不均匀的视频拉伸,我建议你添加必要的代码,以便能够在保持宽高比的同时计算出正确的DisplayRect尺寸。

如果您愿意,可以使DisplayRect比渲染卷轴更大。通过这样做,您可以实现ZoomIn效果。

请注意,这只会延长视频内容,因此您可能会失去质量,因为TMediaPlayer会像许多商业媒体播放器那样使用任何特殊过滤器。

编辑:我没有在FireMonkey平台上使用TMediaPlayer的经验,但在查看文档后,似乎事情已经发生了很大变化。

例如在FMX上有一个名为TMediaPlayerControll的特殊组件,它是渲染视频所必需的。

http://docwiki.embarcadero.com/Libraries/XE7/en/FMX.Media.TMediaPlayerControl

但是看一下文档,我找不到任何控制视频大小的特殊属性或方法。所以我猜想ZoomIn或ZoomOut功能的实现将采用与普通FireMonkex组件相同的方法。