com.tencentcloudapi.trtc.v20190722.models.MixLayoutParams Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of tencentcloud-sdk-java-intl-en Show documentation
Show all versions of tencentcloud-sdk-java-intl-en Show documentation
Tencent Cloud API SDK for Java
/*
* Copyright (c) 2017-2018 THL A29 Limited, a Tencent company. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.tencentcloudapi.trtc.v20190722.models;
import com.tencentcloudapi.common.AbstractModel;
import com.tencentcloudapi.common.SSEResponseModel;
import com.google.gson.annotations.SerializedName;
import com.google.gson.annotations.Expose;
import java.util.HashMap;
public class MixLayoutParams extends AbstractModel {
/**
* Layout mode:
1: Floating
2: Screen sharing
3: Grid (default)
4: Custom
Floating: By default, the video of the first anchor (you can also specify an anchor) who enters the room is scaled to fill the screen. When other anchors enter the room, their videos appear smaller and are superimposed over the large video from left to right starting from the bottom of the canvas according to their room entry sequence. If the total number of videos is 17 or less, there will be four windows in each row (4 x 4); if it is greater than 17, there will be five windows in each row (5 x 5). Up to 25 videos can be displayed. A user who publishes only audio will still be displayed in one window.
Screen sharing: The video of a specified anchor occupies a larger part of the canvas on the left side (if you do not specify an anchor, the left window will display the canvas background). The videos of other anchors are smaller and are positioned on the right side. If the total number of videos is 17 or less, the small videos are positioned from top to bottom in up to two columns on the right side, with eight videos per column at most. If there are more than 17 videos, the additional videos are positioned at the bottom of the canvas from left to right. Up to 25 videos can be displayed. A user who publishes only audio will still be displayed in one window.
Grid: The videos of anchors are scaled and positioned automatically according to the total number of anchors in a room. Each video has the same size. Up to 25 videos can be displayed.
Custom: Specify the layout of videos by using the `MixLayoutList` parameter.
*/
@SerializedName("MixLayoutMode")
@Expose
private Long MixLayoutMode;
/**
* The custom layout details. This parameter is valid if `MixLayoutMode` is set to `4`. Up to 25 videos can be displayed.
*/
@SerializedName("MixLayoutList")
@Expose
private MixLayout [] MixLayoutList;
/**
* The background color, which is a hexadecimal value (starting with "#", followed by the color value) converted from an 8-bit RGB value. For example, the RGB value of orange is `R:255 G:165 B:0`, and its hexadecimal value is `#FFA500`. The default color is black.
*/
@SerializedName("BackGroundColor")
@Expose
private String BackGroundColor;
/**
* The user whose video is displayed in the big window. This parameter is valid if `MixLayoutMode` is set to `1` (floating) or `2` (screen sharing). If it is left empty, the first anchor entering the room is displayed in the big window in the floating mode and the canvas background is displayed in the screen sharing mode.
*/
@SerializedName("MaxResolutionUserId")
@Expose
private String MaxResolutionUserId;
/**
* The stream type.
0: Primary stream (default)
1: Substream (screen sharing stream)
This parameter specifies the type of the stream displayed in the big window. If it appears in `MixLayoutList`, it indicates the type of the stream of a specified user.
*/
@SerializedName("MediaId")
@Expose
private Long MediaId;
/**
* The URL of the background image, which cannot contain Chinese characters. The image must be in JPG or PNG format and cannot be larger than 5 MB.
*/
@SerializedName("BackgroundImageUrl")
@Expose
private String BackgroundImageUrl;
/**
* `1` means to use placeholders, and `0` (default) means to not use placeholders. If this parameter is set to `1`, when a user is not publishing video, a placeholder image will be displayed in the window reserved for the user.
*/
@SerializedName("PlaceHolderMode")
@Expose
private Long PlaceHolderMode;
/**
* The render mode to use when the aspect ratio of a video is different from that of the window. This parameter is defined the same as `RenderMode` in `MixLayoufList`.
*/
@SerializedName("BackgroundImageRenderMode")
@Expose
private Long BackgroundImageRenderMode;
/**
* The URL of the background image for a window. The image must be in JPG or PNG format and cannot be larger than 5 MB. If the image’s aspect ratio is different from that of the window, the image will be rendered according to the value of `RenderMode`.
*/
@SerializedName("DefaultSubBackgroundImage")
@Expose
private String DefaultSubBackgroundImage;
/**
* The watermark layout. Up to 25 watermarks are supported.
*/
@SerializedName("WaterMarkList")
@Expose
private WaterMark [] WaterMarkList;
/**
* The render mode to use when the aspect ratio of a video is different from that of the window. This parameter is invalid if a custom layout is used. It is defined the same as `RenderMode` in `MixLayoufList`.
*/
@SerializedName("RenderMode")
@Expose
private Long RenderMode;
/**
* This parameter is valid only if the screen sharing layout is used. If you set it to `1`, the large video window will appear on the right and the small window on the left. The default value is `0`.
*/
@SerializedName("MaxResolutionUserAlign")
@Expose
private Long MaxResolutionUserAlign;
/**
* Get Layout mode:
1: Floating
2: Screen sharing
3: Grid (default)
4: Custom
Floating: By default, the video of the first anchor (you can also specify an anchor) who enters the room is scaled to fill the screen. When other anchors enter the room, their videos appear smaller and are superimposed over the large video from left to right starting from the bottom of the canvas according to their room entry sequence. If the total number of videos is 17 or less, there will be four windows in each row (4 x 4); if it is greater than 17, there will be five windows in each row (5 x 5). Up to 25 videos can be displayed. A user who publishes only audio will still be displayed in one window.
Screen sharing: The video of a specified anchor occupies a larger part of the canvas on the left side (if you do not specify an anchor, the left window will display the canvas background). The videos of other anchors are smaller and are positioned on the right side. If the total number of videos is 17 or less, the small videos are positioned from top to bottom in up to two columns on the right side, with eight videos per column at most. If there are more than 17 videos, the additional videos are positioned at the bottom of the canvas from left to right. Up to 25 videos can be displayed. A user who publishes only audio will still be displayed in one window.
Grid: The videos of anchors are scaled and positioned automatically according to the total number of anchors in a room. Each video has the same size. Up to 25 videos can be displayed.
Custom: Specify the layout of videos by using the `MixLayoutList` parameter.
* @return MixLayoutMode Layout mode:
1: Floating
2: Screen sharing
3: Grid (default)
4: Custom
Floating: By default, the video of the first anchor (you can also specify an anchor) who enters the room is scaled to fill the screen. When other anchors enter the room, their videos appear smaller and are superimposed over the large video from left to right starting from the bottom of the canvas according to their room entry sequence. If the total number of videos is 17 or less, there will be four windows in each row (4 x 4); if it is greater than 17, there will be five windows in each row (5 x 5). Up to 25 videos can be displayed. A user who publishes only audio will still be displayed in one window.
Screen sharing: The video of a specified anchor occupies a larger part of the canvas on the left side (if you do not specify an anchor, the left window will display the canvas background). The videos of other anchors are smaller and are positioned on the right side. If the total number of videos is 17 or less, the small videos are positioned from top to bottom in up to two columns on the right side, with eight videos per column at most. If there are more than 17 videos, the additional videos are positioned at the bottom of the canvas from left to right. Up to 25 videos can be displayed. A user who publishes only audio will still be displayed in one window.
Grid: The videos of anchors are scaled and positioned automatically according to the total number of anchors in a room. Each video has the same size. Up to 25 videos can be displayed.
Custom: Specify the layout of videos by using the `MixLayoutList` parameter.
*/
public Long getMixLayoutMode() {
return this.MixLayoutMode;
}
/**
* Set Layout mode:
1: Floating
2: Screen sharing
3: Grid (default)
4: Custom
Floating: By default, the video of the first anchor (you can also specify an anchor) who enters the room is scaled to fill the screen. When other anchors enter the room, their videos appear smaller and are superimposed over the large video from left to right starting from the bottom of the canvas according to their room entry sequence. If the total number of videos is 17 or less, there will be four windows in each row (4 x 4); if it is greater than 17, there will be five windows in each row (5 x 5). Up to 25 videos can be displayed. A user who publishes only audio will still be displayed in one window.
Screen sharing: The video of a specified anchor occupies a larger part of the canvas on the left side (if you do not specify an anchor, the left window will display the canvas background). The videos of other anchors are smaller and are positioned on the right side. If the total number of videos is 17 or less, the small videos are positioned from top to bottom in up to two columns on the right side, with eight videos per column at most. If there are more than 17 videos, the additional videos are positioned at the bottom of the canvas from left to right. Up to 25 videos can be displayed. A user who publishes only audio will still be displayed in one window.
Grid: The videos of anchors are scaled and positioned automatically according to the total number of anchors in a room. Each video has the same size. Up to 25 videos can be displayed.
Custom: Specify the layout of videos by using the `MixLayoutList` parameter.
* @param MixLayoutMode Layout mode:
1: Floating
2: Screen sharing
3: Grid (default)
4: Custom
Floating: By default, the video of the first anchor (you can also specify an anchor) who enters the room is scaled to fill the screen. When other anchors enter the room, their videos appear smaller and are superimposed over the large video from left to right starting from the bottom of the canvas according to their room entry sequence. If the total number of videos is 17 or less, there will be four windows in each row (4 x 4); if it is greater than 17, there will be five windows in each row (5 x 5). Up to 25 videos can be displayed. A user who publishes only audio will still be displayed in one window.
Screen sharing: The video of a specified anchor occupies a larger part of the canvas on the left side (if you do not specify an anchor, the left window will display the canvas background). The videos of other anchors are smaller and are positioned on the right side. If the total number of videos is 17 or less, the small videos are positioned from top to bottom in up to two columns on the right side, with eight videos per column at most. If there are more than 17 videos, the additional videos are positioned at the bottom of the canvas from left to right. Up to 25 videos can be displayed. A user who publishes only audio will still be displayed in one window.
Grid: The videos of anchors are scaled and positioned automatically according to the total number of anchors in a room. Each video has the same size. Up to 25 videos can be displayed.
Custom: Specify the layout of videos by using the `MixLayoutList` parameter.
*/
public void setMixLayoutMode(Long MixLayoutMode) {
this.MixLayoutMode = MixLayoutMode;
}
/**
* Get The custom layout details. This parameter is valid if `MixLayoutMode` is set to `4`. Up to 25 videos can be displayed.
* @return MixLayoutList The custom layout details. This parameter is valid if `MixLayoutMode` is set to `4`. Up to 25 videos can be displayed.
*/
public MixLayout [] getMixLayoutList() {
return this.MixLayoutList;
}
/**
* Set The custom layout details. This parameter is valid if `MixLayoutMode` is set to `4`. Up to 25 videos can be displayed.
* @param MixLayoutList The custom layout details. This parameter is valid if `MixLayoutMode` is set to `4`. Up to 25 videos can be displayed.
*/
public void setMixLayoutList(MixLayout [] MixLayoutList) {
this.MixLayoutList = MixLayoutList;
}
/**
* Get The background color, which is a hexadecimal value (starting with "#", followed by the color value) converted from an 8-bit RGB value. For example, the RGB value of orange is `R:255 G:165 B:0`, and its hexadecimal value is `#FFA500`. The default color is black.
* @return BackGroundColor The background color, which is a hexadecimal value (starting with "#", followed by the color value) converted from an 8-bit RGB value. For example, the RGB value of orange is `R:255 G:165 B:0`, and its hexadecimal value is `#FFA500`. The default color is black.
*/
public String getBackGroundColor() {
return this.BackGroundColor;
}
/**
* Set The background color, which is a hexadecimal value (starting with "#", followed by the color value) converted from an 8-bit RGB value. For example, the RGB value of orange is `R:255 G:165 B:0`, and its hexadecimal value is `#FFA500`. The default color is black.
* @param BackGroundColor The background color, which is a hexadecimal value (starting with "#", followed by the color value) converted from an 8-bit RGB value. For example, the RGB value of orange is `R:255 G:165 B:0`, and its hexadecimal value is `#FFA500`. The default color is black.
*/
public void setBackGroundColor(String BackGroundColor) {
this.BackGroundColor = BackGroundColor;
}
/**
* Get The user whose video is displayed in the big window. This parameter is valid if `MixLayoutMode` is set to `1` (floating) or `2` (screen sharing). If it is left empty, the first anchor entering the room is displayed in the big window in the floating mode and the canvas background is displayed in the screen sharing mode.
* @return MaxResolutionUserId The user whose video is displayed in the big window. This parameter is valid if `MixLayoutMode` is set to `1` (floating) or `2` (screen sharing). If it is left empty, the first anchor entering the room is displayed in the big window in the floating mode and the canvas background is displayed in the screen sharing mode.
*/
public String getMaxResolutionUserId() {
return this.MaxResolutionUserId;
}
/**
* Set The user whose video is displayed in the big window. This parameter is valid if `MixLayoutMode` is set to `1` (floating) or `2` (screen sharing). If it is left empty, the first anchor entering the room is displayed in the big window in the floating mode and the canvas background is displayed in the screen sharing mode.
* @param MaxResolutionUserId The user whose video is displayed in the big window. This parameter is valid if `MixLayoutMode` is set to `1` (floating) or `2` (screen sharing). If it is left empty, the first anchor entering the room is displayed in the big window in the floating mode and the canvas background is displayed in the screen sharing mode.
*/
public void setMaxResolutionUserId(String MaxResolutionUserId) {
this.MaxResolutionUserId = MaxResolutionUserId;
}
/**
* Get The stream type.
0: Primary stream (default)
1: Substream (screen sharing stream)
This parameter specifies the type of the stream displayed in the big window. If it appears in `MixLayoutList`, it indicates the type of the stream of a specified user.
* @return MediaId The stream type.
0: Primary stream (default)
1: Substream (screen sharing stream)
This parameter specifies the type of the stream displayed in the big window. If it appears in `MixLayoutList`, it indicates the type of the stream of a specified user.
*/
public Long getMediaId() {
return this.MediaId;
}
/**
* Set The stream type.
0: Primary stream (default)
1: Substream (screen sharing stream)
This parameter specifies the type of the stream displayed in the big window. If it appears in `MixLayoutList`, it indicates the type of the stream of a specified user.
* @param MediaId The stream type.
0: Primary stream (default)
1: Substream (screen sharing stream)
This parameter specifies the type of the stream displayed in the big window. If it appears in `MixLayoutList`, it indicates the type of the stream of a specified user.
*/
public void setMediaId(Long MediaId) {
this.MediaId = MediaId;
}
/**
* Get The URL of the background image, which cannot contain Chinese characters. The image must be in JPG or PNG format and cannot be larger than 5 MB.
* @return BackgroundImageUrl The URL of the background image, which cannot contain Chinese characters. The image must be in JPG or PNG format and cannot be larger than 5 MB.
*/
public String getBackgroundImageUrl() {
return this.BackgroundImageUrl;
}
/**
* Set The URL of the background image, which cannot contain Chinese characters. The image must be in JPG or PNG format and cannot be larger than 5 MB.
* @param BackgroundImageUrl The URL of the background image, which cannot contain Chinese characters. The image must be in JPG or PNG format and cannot be larger than 5 MB.
*/
public void setBackgroundImageUrl(String BackgroundImageUrl) {
this.BackgroundImageUrl = BackgroundImageUrl;
}
/**
* Get `1` means to use placeholders, and `0` (default) means to not use placeholders. If this parameter is set to `1`, when a user is not publishing video, a placeholder image will be displayed in the window reserved for the user.
* @return PlaceHolderMode `1` means to use placeholders, and `0` (default) means to not use placeholders. If this parameter is set to `1`, when a user is not publishing video, a placeholder image will be displayed in the window reserved for the user.
*/
public Long getPlaceHolderMode() {
return this.PlaceHolderMode;
}
/**
* Set `1` means to use placeholders, and `0` (default) means to not use placeholders. If this parameter is set to `1`, when a user is not publishing video, a placeholder image will be displayed in the window reserved for the user.
* @param PlaceHolderMode `1` means to use placeholders, and `0` (default) means to not use placeholders. If this parameter is set to `1`, when a user is not publishing video, a placeholder image will be displayed in the window reserved for the user.
*/
public void setPlaceHolderMode(Long PlaceHolderMode) {
this.PlaceHolderMode = PlaceHolderMode;
}
/**
* Get The render mode to use when the aspect ratio of a video is different from that of the window. This parameter is defined the same as `RenderMode` in `MixLayoufList`.
* @return BackgroundImageRenderMode The render mode to use when the aspect ratio of a video is different from that of the window. This parameter is defined the same as `RenderMode` in `MixLayoufList`.
*/
public Long getBackgroundImageRenderMode() {
return this.BackgroundImageRenderMode;
}
/**
* Set The render mode to use when the aspect ratio of a video is different from that of the window. This parameter is defined the same as `RenderMode` in `MixLayoufList`.
* @param BackgroundImageRenderMode The render mode to use when the aspect ratio of a video is different from that of the window. This parameter is defined the same as `RenderMode` in `MixLayoufList`.
*/
public void setBackgroundImageRenderMode(Long BackgroundImageRenderMode) {
this.BackgroundImageRenderMode = BackgroundImageRenderMode;
}
/**
* Get The URL of the background image for a window. The image must be in JPG or PNG format and cannot be larger than 5 MB. If the image’s aspect ratio is different from that of the window, the image will be rendered according to the value of `RenderMode`.
* @return DefaultSubBackgroundImage The URL of the background image for a window. The image must be in JPG or PNG format and cannot be larger than 5 MB. If the image’s aspect ratio is different from that of the window, the image will be rendered according to the value of `RenderMode`.
*/
public String getDefaultSubBackgroundImage() {
return this.DefaultSubBackgroundImage;
}
/**
* Set The URL of the background image for a window. The image must be in JPG or PNG format and cannot be larger than 5 MB. If the image’s aspect ratio is different from that of the window, the image will be rendered according to the value of `RenderMode`.
* @param DefaultSubBackgroundImage The URL of the background image for a window. The image must be in JPG or PNG format and cannot be larger than 5 MB. If the image’s aspect ratio is different from that of the window, the image will be rendered according to the value of `RenderMode`.
*/
public void setDefaultSubBackgroundImage(String DefaultSubBackgroundImage) {
this.DefaultSubBackgroundImage = DefaultSubBackgroundImage;
}
/**
* Get The watermark layout. Up to 25 watermarks are supported.
* @return WaterMarkList The watermark layout. Up to 25 watermarks are supported.
*/
public WaterMark [] getWaterMarkList() {
return this.WaterMarkList;
}
/**
* Set The watermark layout. Up to 25 watermarks are supported.
* @param WaterMarkList The watermark layout. Up to 25 watermarks are supported.
*/
public void setWaterMarkList(WaterMark [] WaterMarkList) {
this.WaterMarkList = WaterMarkList;
}
/**
* Get The render mode to use when the aspect ratio of a video is different from that of the window. This parameter is invalid if a custom layout is used. It is defined the same as `RenderMode` in `MixLayoufList`.
* @return RenderMode The render mode to use when the aspect ratio of a video is different from that of the window. This parameter is invalid if a custom layout is used. It is defined the same as `RenderMode` in `MixLayoufList`.
*/
public Long getRenderMode() {
return this.RenderMode;
}
/**
* Set The render mode to use when the aspect ratio of a video is different from that of the window. This parameter is invalid if a custom layout is used. It is defined the same as `RenderMode` in `MixLayoufList`.
* @param RenderMode The render mode to use when the aspect ratio of a video is different from that of the window. This parameter is invalid if a custom layout is used. It is defined the same as `RenderMode` in `MixLayoufList`.
*/
public void setRenderMode(Long RenderMode) {
this.RenderMode = RenderMode;
}
/**
* Get This parameter is valid only if the screen sharing layout is used. If you set it to `1`, the large video window will appear on the right and the small window on the left. The default value is `0`.
* @return MaxResolutionUserAlign This parameter is valid only if the screen sharing layout is used. If you set it to `1`, the large video window will appear on the right and the small window on the left. The default value is `0`.
*/
public Long getMaxResolutionUserAlign() {
return this.MaxResolutionUserAlign;
}
/**
* Set This parameter is valid only if the screen sharing layout is used. If you set it to `1`, the large video window will appear on the right and the small window on the left. The default value is `0`.
* @param MaxResolutionUserAlign This parameter is valid only if the screen sharing layout is used. If you set it to `1`, the large video window will appear on the right and the small window on the left. The default value is `0`.
*/
public void setMaxResolutionUserAlign(Long MaxResolutionUserAlign) {
this.MaxResolutionUserAlign = MaxResolutionUserAlign;
}
public MixLayoutParams() {
}
/**
* NOTE: Any ambiguous key set via .set("AnyKey", "value") will be a shallow copy,
* and any explicit key, i.e Foo, set via .setFoo("value") will be a deep copy.
*/
public MixLayoutParams(MixLayoutParams source) {
if (source.MixLayoutMode != null) {
this.MixLayoutMode = new Long(source.MixLayoutMode);
}
if (source.MixLayoutList != null) {
this.MixLayoutList = new MixLayout[source.MixLayoutList.length];
for (int i = 0; i < source.MixLayoutList.length; i++) {
this.MixLayoutList[i] = new MixLayout(source.MixLayoutList[i]);
}
}
if (source.BackGroundColor != null) {
this.BackGroundColor = new String(source.BackGroundColor);
}
if (source.MaxResolutionUserId != null) {
this.MaxResolutionUserId = new String(source.MaxResolutionUserId);
}
if (source.MediaId != null) {
this.MediaId = new Long(source.MediaId);
}
if (source.BackgroundImageUrl != null) {
this.BackgroundImageUrl = new String(source.BackgroundImageUrl);
}
if (source.PlaceHolderMode != null) {
this.PlaceHolderMode = new Long(source.PlaceHolderMode);
}
if (source.BackgroundImageRenderMode != null) {
this.BackgroundImageRenderMode = new Long(source.BackgroundImageRenderMode);
}
if (source.DefaultSubBackgroundImage != null) {
this.DefaultSubBackgroundImage = new String(source.DefaultSubBackgroundImage);
}
if (source.WaterMarkList != null) {
this.WaterMarkList = new WaterMark[source.WaterMarkList.length];
for (int i = 0; i < source.WaterMarkList.length; i++) {
this.WaterMarkList[i] = new WaterMark(source.WaterMarkList[i]);
}
}
if (source.RenderMode != null) {
this.RenderMode = new Long(source.RenderMode);
}
if (source.MaxResolutionUserAlign != null) {
this.MaxResolutionUserAlign = new Long(source.MaxResolutionUserAlign);
}
}
/**
* Internal implementation, normal users should not use it.
*/
public void toMap(HashMap map, String prefix) {
this.setParamSimple(map, prefix + "MixLayoutMode", this.MixLayoutMode);
this.setParamArrayObj(map, prefix + "MixLayoutList.", this.MixLayoutList);
this.setParamSimple(map, prefix + "BackGroundColor", this.BackGroundColor);
this.setParamSimple(map, prefix + "MaxResolutionUserId", this.MaxResolutionUserId);
this.setParamSimple(map, prefix + "MediaId", this.MediaId);
this.setParamSimple(map, prefix + "BackgroundImageUrl", this.BackgroundImageUrl);
this.setParamSimple(map, prefix + "PlaceHolderMode", this.PlaceHolderMode);
this.setParamSimple(map, prefix + "BackgroundImageRenderMode", this.BackgroundImageRenderMode);
this.setParamSimple(map, prefix + "DefaultSubBackgroundImage", this.DefaultSubBackgroundImage);
this.setParamArrayObj(map, prefix + "WaterMarkList.", this.WaterMarkList);
this.setParamSimple(map, prefix + "RenderMode", this.RenderMode);
this.setParamSimple(map, prefix + "MaxResolutionUserAlign", this.MaxResolutionUserAlign);
}
}