gpt4 book ai didi

delphi - TMediaplayerControl 上的控件无法显示

转载 作者:行者123 更新时间:2023-12-04 10:03:03 26 4
gpt4 key购买 nike

我正在使用 Firemonkey 开发 Win64 视频应用程序。

我使用 TMediaPlayer 和 TMediaPlayerControl 以全屏模式播放视频文件。

希望在播放视频的时候,在播放画面上叠加播放时间、进度信息、几个播放控制按钮。

但是我发现在TMediaPlayerControl中添加的这些组件无法正常显示。查看了TMediaPlayer相关的源码,发现播放视频的窗口会一直显示在最上层,从而完全覆盖了TMediaPlayerControl上面的组件。

有什么办法可以解决这个问题吗?

enter image description here

最佳答案

您可以通过在 TMediaPlayerControl 所在的窗体顶部(按 z 顺序)添加透明覆盖窗体来实现。通过设置 Transparency = True 使表单透明。要使其位于主窗体之上,请设置 FormStyle = StayOnTop。您还想设置它的 BorderStyle = None

将您想要“ float ”在该透明表单上的视频上方的所有按钮、面板等。由于窗体是透明的,因此控件将漂浮在视频前面。

要使用透明窗体上的控件来控制您的TMediaPlayer,您需要在辅助窗体的implementation 下添加uses MainForm

您可能还希望根据尺寸变化来同步表格,以防在不同尺寸的显示器上使用。在主窗体上使用 OnFormResize。在尝试访问覆盖表单之前检查覆盖表单是否存在(例如,if overlayForm <> nil then ...),因为它是在主表单之后创建的。根据主窗体设置叠加窗体的宽高。根据需要重新定位控件。

关于delphi - TMediaplayerControl 上的控件无法显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61736181/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com