|
<< Нажмите, чтобы показать Содержание >> TRVCamMultiView.Viewers |
Коллекция элементов, задающих свойства видео-окон
type
TRVCamViewCollection = class(TCollection);
TRVCamViewItem = class(TCollectionItem)
property Viewers: TRVCamViewCollection;
Это набор элементов, имеющих тип TRVCamViewItem. Каждый элемент определяет свойства одного видео-окна.
Свойства элемента описаны ниже.
Элемент в этой коллекции обладает теми же свойствами, что и компонент TRVCamView (ссылки ниже ведут к соответствующим свойствам компонента TRVCamView):
•Title, CaptionParts, ShowCaption, CaptionColor
•FrameScaleQuality [VCL и LCL]
Кроме того, если UseFramePerSec=True (по умолчанию False), FramePerSec присваивается соответствующему TRVCamView.VideoSource.FramePerSec (см. ниже о главных окнах просмотра).
По умолчанию свойства Color и CaptionColor равны clNone. Это означает, что вместо них используются свойства родительского компонента TRVCamMultiView (ViewerColor и CaptionColor).
Некоторые видео-окна можно выбрать в качестве главных: присвойте MainViewer=True. Главные видео-окна отображают копию видео из выбранного видео-окна, см. ViewerIndex. Обычно имеет смысл назначить только одно главное видео-окно и сделать его размер больше, чем у других видео-окон. Когда видео-окно выбрано, вместо свойств выбранного видео-окна используются FramePerSec и UseFramePerSec главного видео-окна (если главных видео-окон несколько, используется максимальное значение их FramePerSec). Таким образом, вы можете указать большую частоту кадров для выбранного видео-окна, чем для обычных окон.
Свойства Left, Top, Width, Height определяют положение и размер видео-окна. Эти значения измеряются в логических пикселях при 96 DPI. Если плотность пикселей экрана отличается, размер и положение пересчитываются соответствующим образом.
При изменении размера компонента все его видео-окна также могут быть изменены в размере. Режим изменения размера зависит от свойства ScaleViewers компонента.
Если оно имеет значение True, значения Left, Top, Width и Height видео-окон изменяются пропорционально новому размеру.
Если оно имеет значение False, размеры и положение видео-окон изменяются в соответствии со свойствами AlignVideoViewer и Anchor.
type
TRVMAnchor = (
rvmaLeft, rvmaTop, rvmaRight, rvmaBottom
);
TRVMAnchors = set of TRVMAnchor;
property Anchors: TRVMAnchors;
Использование Anchors гарантирует, что видео-окно сохранит своё положение относительно края окна компонента, даже если компонент изменит свой размер. При изменении размера компонента видео-окно сохраняет свое положение относительно краёв, к которым оно привязано. Если видео-окно привязано к противоположным краям своего компонента, оно растягивается при изменении размера компонента. Например, если свойство Anchors видео-окна установлено в [rvmaLeft, rvmaRight], видео-окно растягивается при изменении ширины компонента. Значение по умолчанию для Anchors — [rvmaLeft, rvmaTop]. Anchors используются только в том случае, если ScaleViewers компонента = False.
type
TRVAlignVideoViewer = (
rvavvTop, rvavvBottom,
rvavvLeft, rvavvRight,
rvavvClient, rvavvNone
);
property AlignVideoViewer: TRVAlignVideoViewer;
Используйте AlignVideoViewer, чтобы выровнять видео-окно по верхнему, нижнему, левому или правому краю окна компонента и сохранить его положение даже при изменении размера компонента. При изменении размера компонента выравненное видео-окно также изменяет свой размер, продолжая занимать верхний, нижний, левый или правый край окна компонента. Значение по умолчанию для AlignVideoViewer равно rvavvNone, что означает, что видео-окно остаётся на том месте, где оно изначально расположено в окне компонента. Если AlignVideoViewer установлено в rvavvClient, видео-окно заполняет всю область окна компонента. AlignVideoViewer используется только в том случае, если ScaleViewers компонента = False.
Для получения координат видео-окна можно использовать метод объекта TRVCamViewItem:
procedure GetViewerRects(out VideoRect, AudioRect: TRVMRect);
Этот метод возвращает области, где отображаются видео и индикатор звука в родительском компоненте TRVCamMultiView. Вы можете использовать этот метод в пользовательском событии отрисовки.
Помимо окна просмотра видео, окно просмотра может содержать дополнительное окно индикации звука (встроенный компонент TRVMicrophoneView). Оно управляется следующими свойствами:
•AudioViewer: Boolean показывает/скрывает индикатор звука (значение по умолчанию = False)
•AlignAudioViewer: TRVAlignAudioViewer задаёт позицию индикатора звука (значение по умолчанию = rvaavRight)
•AudioViewerColor: TRVMColor задаёт цвет фона индикатора звука.
type
TRVAlignAudioViewer = (
rvaavTop, rvaavBottom, rvaavLeft, rvaavRight,
rvaavClient
);
Значение |
Описание |
rvaavTop |
Индикатор звука над видео |
rvaavBottom |
Индикатор звука под видео |
rvaavLeft |
Индикатор звука слева от видео |
rvaavRight |
Индикатор звука справа от видео |
rvaavClient |
Индикатор звука занимает всю область, закрывая видео |
Если свойство VideoSource указывает на TRVCamReceiver, индикатор звука отображает активность этого получателя: свойства VideoSource и GUIDFrom присваютваются свойствам ReceiverSource и GUIDFrom интегрированного компонента TRVMicrophoneView. соответственно.
Если свойство VideoSource указывает на TRVCamera, индикатор звука отображает активность компонента, связанного со свойством AudioSource родительского компонента TRVCamMultiView.