我正在使用FMX在Delphi 10.2 Tokyo中创建软件。我想使用TMediaPlayerControl
在所有组件后面的背景中显示视频。我将TMediaPlayerControl
发送到后面并播放视频,但视频不会在组件后面播放,而是在它们之上播放。
我在客户区放了一个TMemo
,后面放了一个TMediaPlayerControl
。它应该做的是播放TMemo
后面的视频,而不是在TMemo
之上播放。
如何在TMemo
后面的背景中播放视频?
答案 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 - 最新)