2016-05-30 3 views
0

У меня есть следующий код, который устанавливает VCSession с необходимыми размерами. «camview» представляет собой квадратный UIView с правильными размерами.Потоковое видео с видео-сердечником - Swift

self.previewView = camview 
let screenSize: CGSize = UIScreen.mainScreen().bounds.size 
self.session = VCSimpleSession(videoSize: screenSize, frameRate: 30, bitrate: 1000000, useInterfaceOrientation: false) 
session!.orientationLocked = false 
session!.previewView.frame = camview.bounds 
camview.addSubview(session!.previewView) 

Независимо от того, как я пытаюсь настроить кадры/границу, либо а) на выходе сохраняет соотношение сторон экрана, но уменьшен, чтобы вписаться в квадратные рамки (если я установить videoSize к camview) или б) как видно из вышеприведенного кода, видеозапись полноэкранного просмотра, но только квадратный бит.

Я собираюсь в кругах - может ли кто-нибудь сообщить мне, как я могу фактически получить VCSimpleSession videoSize, чтобы правильно выводить только квадратное соотношение сторон (т. Е. Только ту часть рамки камеры, которая находится внутри квадрата)?

ответ

0

Кажется, что для параметра Аспект необходимо значение. Это казалось маловероятным, так как единственными вариантами были Fit и Fill, ни один из которых не казался правильным. Однако, похоже, это трюк.

Таким образом, установите videoSize в camview, previewView.frame, чтобы добавить следующее.

session!.aspectMode = VCAspectMode.AscpectModeFill 

(опечатка это VideoCore не я)

Смежные вопросы