如何在其他组件后面显示视频?

时间:2017-08-21 13:40:12

标签: delphi firemonkey delphi-10.2-tokyo

我正在使用FMX在Delphi 10.2 Tokyo中创建软件。我想使用TMediaPlayerControl在所有组件后面的背景中显示视频。我将TMediaPlayerControl发送到后面并播放视频,但视频不会在组件后面播放,而是在它们之上播放。

我在客户区放了一个TMemo,后面放了一个TMediaPlayerControl。它应该做的是播放TMemo后面的视频,而不是在TMemo之上播放。

如何在TMemo后面的背景中播放视频?

3 个答案:

答案 0 :(得分:0)

如果你想这样做,你需要一个可以直接在openGL表面上渲染的视频播放器(即实际渲染在delphi表格上)。据我所知,他们只有一个可以做到这一点的视频播放器,它是 alcinoe https://sourceforge.net/projects/alcinoe/)中实现的 modelBuilder.Entity<Parameter>(opt => { opt.ToTable("Parameter"); opt.HasKey(x => x.Id); opt.Property(x => x.AutoId).UseSqlServerIdentityColumn(); opt.HasAlternateKey(x => x.AutoId); opt.Ignore("CreatedByUserId"); opt.Ignore("CreatedComputerName"); opt.Ignore("CreatedIP"); opt.Ignore("ModifiedByUserId"); opt.Ignore("ModifiedComputerName"); opt.Ignore("ModifiedDate"); opt.Ignore("ModifiedIP"); }); 。目前的实现仅适用于ios / android,但是windows实现接口非常简单,并且macos版本非常简单,因为它使用与ios相同的api

答案 1 :(得分:0)

您可以使用 libvlc 直接渲染到表单或您想要的任何内容。 调用 libvlc_media_player_set_display_window() 设置一个窗口句柄,媒体播放器应在其中呈现其视频输出。 因此,您可以在所有组件后面的背景中显示视频。

答案 2 :(得分:0)

我使用的包装类和组件来自 http://prog.olsztyn.pl/paslibvlc 确实很简单

已检查 FMX Delphi 10.4.2 - 工作正常(libVLC 3.014 - 最新)