在前面的《视频处理控件TVideoGrabber中混合多个视频源(1)》一文中,已经对TVideoGrabber中混合视频源做了一些内容的说明,本文将继续前文:
用自动交替混合模式激活混合器组件
比如,混合器组件被命名为“Mixer1”,源组件命名为“Source1”、“Source2”、“Source3”。
设置 Mixer1.VideoSource = vs_Mixer
设置Mixer1.Display_AutoSize = false (如果你想控制组件的宽度和高度,并防止它被自动调整大小)
设置 Mixer1.Mixer_MosaicLines = 1
设置Mixer1.Mixer_MosaicColumns = 1
调用 Mixer_AddToMixer (Source component, 0, 0, 0, group number, group display duration, true, true)
比如,如果(group 1 = 1500 ms, group 2 = 2000 ms, group 3 = 2500 ms)
1
2
3
4
5
6
7
|
Mixer1.Mixer_AddToMixer (Source1.UniqueID, 0, 0, 0, 1, 1500, True, True)
Mixer1.Mixer_AddToMixer (Source2.UniqueID, 0, 0, 0, 2, 2000, True, True)
Mixer1.Mixer_AddToMixer (Source3.UniqueID, 0, 0, 0, 3, 2500, True, True)
然后调用,如下:
Source1.StartPreview()
Source2.StartPreview()
Mixer1.StartPreview()
|
在马赛克混合模式中激活混合器组件
在这种模式下,目标组件窗口已细分为x行和y列,每个源显示在一个预定义的位置(X,Y ) 。
举个例子,混频器组件被命名为“ Mixer1”,源组件 “Source1”、“Source2”、“Source3”“Source4”将会以2× 2布局显示。
设置 Mixer1.VideoSource = vs_Mixer
设置 Mixer1.Display_AutoSize = false (如果你想控制组件的宽度和高度,并防止它被自动调整大小)
设置 Mixer1.Mixer_MosaicLines = 2
设置Mixer1.Mixer_MosaicColumns = 2
调用 Mixer_AddToMixer (Source component, 0, line, column, 0, 0, true, true)
Mixer1.Mixer_AddToMixer (Source1.UniqueID, 0, 1, 1, 0, 0, True, True)
Mixer1.Mixer_AddToMixer (Source2.UniqueID, 0, 1, 2, 0, 0, True, True)
Mixer1.Mixer_AddToMixer (Source3.UniqueID, 0, 2, 1, 0, 0, True, True)
Mixer1.Mixer_AddToMixer (Source4.UniqueID, 0, 2, 2, 0, 0, True, True)
然后调用,如下:
Source1.StartPreview()
Source2.StartPreview()
Source3.StartPreview()
Source4.StartPreview()
Mixer1.StartPreview()
在交替/马赛克混合模式下激活混合组件
在此模式下每个源将会交互显示到一个单一的视频窗口。
举个例子:混合器组件命名为“ Mixer1”,源组件 “Source1”、“Source2”、“Source3、“Source4”将会以2个1 x 2 源组件布局交互显示。
将会使用命名为“55”和“66”的2组,“55”组将会以1500毫秒的间隔显示,“66”组将会以2500毫秒的间隔显示。
设置Mixer1.VideoSource = vs_Mixer
设置Mixer1.Display_AutoSize = false (如果你想控制组件的宽度和高度,并防止它被自动调整大小)
设置Mixer1.Mixer_MosaicLines = 1
设置Mixer1.Mixer_MosaicColumns = 2
调用 Mixer_AddToMixer (Source component, 0, line, column, group number, group duration, true, true)
然后调用,如下:
1
2
3
4
5
|
Source1.StartPreview()
Source2.StartPreview()
Source3.StartPreview()
Source4.StartPreview()
Mixer1.StartPreview()
|