获取视频轨道的大小

时间:2017-03-29 09:42:53

标签: ios swift twilio twilio-api

我使用Twilio API在两个用户之间创建视频聊天。 第一个用户视频图片必须是第二个用户图片上方的较小圆圈。

第二个用户使用USB摄像头,我得到“水平矩形”视频,所以我需要在这个矩形上移动我的视频圈:

enter image description here

我尝试获取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)")
        }
    }
}

但是我得到了height = 0和width = 0。 如何获得视频轨道的大小?

1 个答案:

答案 0 :(得分:1)

Twilio开发者传道者在这里。

我已经与视频团队进行了交谈,我被告知videoDimensions即将在即将到来的测试版中被TVIVideoTrack课程弃用,因为它不能正常工作,因为你'我发现了。

获取videoDimensions的更好方法是TVIVideoViewRenderer。以下是将视频视图渲染器添加到视频轨道的代码段:

let renderer = TVIVideoViewRenderer.init(delegate: self)
videoTrack.addRenderer(renderer)
renderer.view.frame = view.bounds
renderer.view.contentMode = .scaleAspectFill
view.addSubview(renderer.view)   

如果有帮助,请告诉我。