Использование RTCMTLVideoView для отображения видео¶
В сборке 2.6.6 добавлена возможность использования RTCMTLVideoView
для отображения видео, если устройство поддерживает данный вид.
Разберем автоматическое переключение между видами для отображения локального видео на примере TwoWayStreaming
-
Определяем, поддерживается ли Metal View
code -
Если
MTLCreateSystemDefaultDevice()
возвращает неnil
, создаем объектRTCMTLVideoView
code -
Если
MTLCreateSystemDefaultDevice()
возвращаетnil
, создаем объектRTCEAGLVideoView
code
Полный код примера
id<MTLDevice> localDevice;
#ifdef __aarch64__
localDevice = MTLCreateSystemDefaultDevice();
if (localDevice) {
RTCMTLVideoView *localView = [[RTCMTLVideoView alloc] init];
localView.delegate = self;
_localDisplay = localView;
}
#endif
if (!localDevice) {
RTCEAGLVideoView *localView = [[RTCEAGLVideoView alloc] init];
localView.delegate = self;
_localDisplay = localView;
}
_localDisplay.translatesAutoresizingMaskIntoConstraints = NO;