# AgoraVideoLayout (/zh-CN/api-reference/rtc/macos/class-videolayout)

> For AI agents: see the complete documentation index at [llms.txt](/llms.txt).

<a id="class_videolayout__prototype"></a>

```objc
__attribute__((visibility("default"))) @interface AgoraVideoLayout: NSObject
@property(copy, nonatomic) NSString* _Nonnull channelId NS_SWIFT_NAME(channelId);
@property (assign, nonatomic) NSUInteger uid NS_SWIFT_NAME(uid);
@property(copy, nonatomic) NSString* _Nullable strUid NS_SWIFT_NAME(strUid);
@property (assign, nonatomic) NSUInteger videoState NS_SWIFT_NAME(videoState);
@property (assign, nonatomic) NSUInteger x NS_SWIFT_NAME(x);
@property (assign, nonatomic) NSUInteger y NS_SWIFT_NAME(y);
@property (assign, nonatomic) NSUInteger width NS_SWIFT_NAME(width);
@property (assign, nonatomic) NSUInteger height NS_SWIFT_NAME(height);
@end
```

<a id="class_videolayout__parameters"></a>

## 属性 [#属性]

<ParameterList>
<a id="channelid"></a>
<Parameter name="channelId">

子视频流所属的频道名。

</Parameter>
<a id="uid"></a>
<Parameter name="uid">

发布该子视频流的用户 ID。

</Parameter>
<a id="struid"></a>
<Parameter name="strUid">

预留参数。

</Parameter>
<a id="videostate"></a>
<Parameter name="videoState">

子视频流在视频合流画布上的状态：

- `0`：正常。子视频流已被渲染到合流画布上。
- `1`：占位图像。子视频流没有视频帧，在合流画布上显示为占位图。
- `2`：黑色图像。子视频流被黑色图像替代。

</Parameter>
<a id="x"></a>
<Parameter name="x">

子视频流在视频合流画布上的 X 坐标（单位：px），表示视频左上角相对于画布原点（左上角）的水平位移。

</Parameter>
<a id="y"></a>
<Parameter name="y">

子视频流在视频合流画布上的 Y 坐标（单位：px），表示视频左上角相对于画布原点（左上角）的垂直位移。

</Parameter>
<a id="width"></a>
<Parameter name="width">

子视频流的宽度（单位：px）。

</Parameter>
<a id="height"></a>
<Parameter name="height">

子视频流的高度（单位：px）。

</Parameter>
</ParameterList>
