setWatermark method
添加水印
水印的位置是通过 x, y, width 来指定的
- x:水印的坐标,取值范围为0 - 1的浮点数。
- y:水印的坐标,取值范围为0 - 1的浮点数。
- width:水印的宽度,取值范围为0 - 1的浮点数。
举例:如果当前编码分辨率是540 × 960,(x, y, width) 设置为(0.1, 0.1, 0.2) 那么:水印的左上坐标点就是 (540 × 0.1, 960 × 0.1),也就是 (54, 96),水印的宽度是 540 × 0.2 = 108px,高度自动计算。
参数:
assetUrl可以为flutter中定义的asset资源地址如'images/watermark_img.png',也可以为网络图片地址
streamType 如果要给屏幕分享的一路也设置水印,需要调用两次的 setWatermark,请参考 TRTCCloudDef.TRTC_VIDEO_STREAM_TYPE_BIG
x 归一化水印位置的 X 轴坐标,取值0,1
y 归一化水印位置的 Y 轴坐标,取值0,1
width 归一化水印宽度,取值0,1
Implementation
Future<void> setWatermark(
String assetUrl, //assets 中的资源地址
int streamType,
double x,
double y,
double width) async {
String imageUrl = assetUrl;
String type = 'network'; //默认为网络图片
if (assetUrl.indexOf('http') != 0) {
type = 'local';
}
return _channel.invokeMethod('setWatermark', {
"type": type,
"imageUrl": imageUrl,
"streamType": streamType,
"x": x.toString(),
"y": y.toString(),
"width": width.toString()
});
}