我的项目基于 MediaComposition API。
MediaComposition composition = new MediaComposition();
它使用带有视频效果的剪辑...
MediaClip mainClip = await MediaClip.CreateFromFileAsync(someVideo);
mainClip.VideoEffectDefinitions.Add(new VideoEffectDefinition(typeof(SomeVideoEffect).FullName, new PropertySet { "Data", data }));
composition.Clip.Add(mainClip);
它还使用覆盖...
MediaClip overlayClip = MediaClip.CreateFromColor(Colors.Red, mainClip.OriginalDuration);
MediaOverlay overlay = new MediaOverlay(overlayClip);
MediaOverlayLayer layer = new MediaOverlayLayer();
layer.Overlays.Add(overlay);
compositon.OverlayLayers.Add(layer);
问题是,叠加层总是在视频效果之上,添加它们的顺序没有任何影响。换言之,即使在视频效果之前将覆盖添加到合成中,覆盖仍然会阻挡视频效果的视图。有没有办法让视频效果显示在叠加层之上?