获取视频轨道的大小
Get size of video track
我使用 Twilio API 在两个用户之间创建视频聊天。
第一个用户视频图片必须是第二个用户图片上方的小圆圈。
第二个用户使用 USB 摄像头,我得到 "horizontal rectangle" 视频,所以我需要在这个矩形上用我的视频移动圆圈:
我尝试获取 CMVideoDimensions:
extension VideoChatViewController: TVIParticipantDelegate {
func participant(_ participant: TVIParticipant, addedVideoTrack videoTrack: TVIVideoTrack) {
logMessage(messageText: "Participant \(participant.identity) added video track")
if (self.participant == participant) {
videoTrack.attach(self.remoteView)
let dimensions = videoTrack.videoDimensions
let height = dimensions.height
let width = dimensions.width
print ("\(height) ; \(width)")
}
}
}
但我得到的是高度 = 0 和宽度 = 0。
如何获取视频轨道的大小?
这里是 Twilio 开发人员布道者。
我已经与视频团队谈过,我被告知 videoDimensions
将在即将推出的测试版中从 TVIVideoTrack
class 中弃用,因为它无法正常工作特别好,正如您所发现的。
获得 videoDimensions
的更好方法是从 TVIVideoViewRenderer
。以下是将视频视图渲染器添加到视频轨道的代码段:
let renderer = TVIVideoViewRenderer.init(delegate: self)
videoTrack.addRenderer(renderer)
renderer.view.frame = view.bounds
renderer.view.contentMode = .scaleAspectFill
view.addSubview(renderer.view)
如果有帮助请告诉我。
我使用 Twilio API 在两个用户之间创建视频聊天。 第一个用户视频图片必须是第二个用户图片上方的小圆圈。
第二个用户使用 USB 摄像头,我得到 "horizontal rectangle" 视频,所以我需要在这个矩形上用我的视频移动圆圈:
我尝试获取 CMVideoDimensions:
extension VideoChatViewController: TVIParticipantDelegate {
func participant(_ participant: TVIParticipant, addedVideoTrack videoTrack: TVIVideoTrack) {
logMessage(messageText: "Participant \(participant.identity) added video track")
if (self.participant == participant) {
videoTrack.attach(self.remoteView)
let dimensions = videoTrack.videoDimensions
let height = dimensions.height
let width = dimensions.width
print ("\(height) ; \(width)")
}
}
}
但我得到的是高度 = 0 和宽度 = 0。 如何获取视频轨道的大小?
这里是 Twilio 开发人员布道者。
我已经与视频团队谈过,我被告知 videoDimensions
将在即将推出的测试版中从 TVIVideoTrack
class 中弃用,因为它无法正常工作特别好,正如您所发现的。
获得 videoDimensions
的更好方法是从 TVIVideoViewRenderer
。以下是将视频视图渲染器添加到视频轨道的代码段:
let renderer = TVIVideoViewRenderer.init(delegate: self)
videoTrack.addRenderer(renderer)
renderer.view.frame = view.bounds
renderer.view.contentMode = .scaleAspectFill
view.addSubview(renderer.view)
如果有帮助请告诉我。