mac获取屏幕源 屏幕共享开发

2019-03-17  本文已影响0人  valid123

mac获取屏幕视频源和获取camera源类似,找个camera采集的例子,然后把session的input从AVCaptureDeviceInput改成AVCaptureScreenInput。

self.device = [videoCaptureDevices objectAtIndex:0];

self.input = [AVCaptureDeviceInput deviceInputWithDevice:self.device error:&error];

改成

 _screenDisplay = CGMainDisplayID();

_screenInput = [[AVCaptureScreenInput alloc] initWithDisplayID:_screenDisplay];

获取采集屏幕分辨率:

CGDisplayModeRef modeRef = CGDisplayCopyDisplayMode(_screenDisplay);

self.targetWidth = CGDisplayModeGetPixelWidth(modeRef);

self.targetHeight = CGDisplayModeGetHeight(modeRef);

从didOutputSampleBuffer回调函数可以拿到原始屏幕帧。

其他的小feature,比如光标是否显示,截取屏幕部分区域,主屏还是副屏等,官方api有描述。

上一篇 下一篇

猜你喜欢

热点阅读