问题描述
如题! 客户要求我们必须提供这个功能,但是环信似乎不支持!怎么办呢?!如果支持切换,最好给几行示例代码,万分感谢!
解决方案
另外,请官方添加一下前后摄像头切换功能吧! 这个是最基本的功能。所有的视频都需要做。环信封装之后,我们开发再来做这个事情,就非常困难了!
解决方案二:
demo2.0的实时视频,本地的视频显示是在demo上做的。具体代码在CallViewController->- (void)_initializeCamera方法中。你可以添加以下代码,在点击切换时,调用-swapFrontAndBackCameras, 亲测有效- (AVCaptureDevice *)cameraWithPosition:(AVCaptureDevicePosition)position{ _position = position; NSArray *devices = [AVCaptureDevice devicesWithMediaType:AVMediaTypeVideo]; for ( AVCaptureDevice *device in devices ) if ( device.position == position ) return device; return nil;}- (void)swapFrontAndBackCameras { // Assume the session is already running NSArray *inputs = _session.inputs; for ( AVCaptureDeviceInput *input in inputs ) { AVCaptureDevice *device = input.device; if ( [device hasMediaType:AVMediaTypeVideo] ) { AVCaptureDevicePosition position = device.position; AVCaptureDevice *newCamera = nil; AVCaptureDeviceInput *newInput = nil; if (_position == AVCaptureDevicePositionFront) newCamera = [self cameraWithPosition:AVCaptureDevicePositionBack]; else newCamera = [self cameraWithPosition:AVCaptureDevicePositionFront]; newInput = [AVCaptureDeviceInput deviceInputWithDevice:newCamera error:nil]; // beginConfiguration ensures that pending changes are not applied immediately [_session beginConfiguration]; [_session removeInput:input]; [_session addInput:newInput]; // Changes take effect once the outermost commitConfiguration is invoked. [_session commitConfiguration]; break; } }}
解决方案三:
请问一下 你这个问题解决了么