第三方美颜
更新时间: 2025/09/04 17:18:36
在社交娱乐或教育场景中,用户在进行视频通话或直播的过程中,常常希望向对方呈现良好的肌肤状态和精神面貌。NERoom SDK 提供了采集数据回调的 API 方法,帮助您轻松接入第三方专业美颜滤镜厂商,以完善业务场景。
功能介绍
NERoom SDK 提供 videoFrameCaptured
回调用于接收相机采集数据。APP 在美颜后将数据返回给 SDK,SDK 对美颜后的数据进行预览以及编码发送。
预览美颜效果
配置步骤
- 调用
previewRoom
方法开启房间预览。 - 调用
addRoomListener
方法添加监听,在成功开启摄像头采集后可以触发相关回调。 - 调用
startPreview
方法开启视频预览。 - 开启视频预览成功后,SDK 会触发
videoFrameCaptured
回调。您可根据CVPixelBuffer
包含的图片相关属性以及视频旋转角度NERoomVideoRotationType
进行后续的美颜处理。
示例代码
let canvas = NERoomVideoView()
canvas.container = UIView(frame: xxx)
NERoomKit.shared().roomService.previewRoom(NEPreviewRoomParams()) { [weak self] code, string, preRoomContext in
guard let self = self, let roomContext = preRoomContext else { return }
// 添加监听
roomContext.previewController.addRoomListener(self)
let code = roomContext.previewController.startPreview(canvas: canvas)
if code == 0 {
print("Successfully start preview.")
} else {
print("Failed to start preview. Code: \(code)")
}
}
// 开启预览成功会触发回调, 可进行美颜处理
func videoFrameCaptured(_ bufferRef: CVPixelBuffer, rotation: NERoomVideoRotationType)
房间内开启美颜
配置步骤
- 调用
getRoomContext
方法获取房间上下文。调用此方法时,您需要将roomUuid
设置为您所加入房间的 ID。 - 调用
addRoomListener
方法添加监听,在成功开启摄像头采集后可以触发videoFrameCaptured
回调。您可根据CVPixelBuffer
包含的图片相关属性以及视频旋转角度NERoomVideoRotationType
进行后续的美颜处理。
示例代码
let roomContext = NERoomKit.shared().roomService.getRoomContext(roomUuid: "房间ID")
guard let roomContext = roomContext else {
return
}
// 添加监听
roomContext.rtcController.addRoomListener(self)
// 开启摄像头成功会触发回调, 可进行美颜处理
func videoFrameCaptured(_ bufferRef: CVPixelBuffer, rotation: NERoomVideoRotationType)
API 参考
方法 | 功能描述 |
---|---|
previewRoom |
开启房间预览 |
addRoomListener |
添加视频监听 |
startPreview |
开启摄像头预览 |
videoFrameCaptured |
摄像头采集回调 |
getRoomContext |
获取房间上下文 |
此文档是否对你有帮助?