gpt4 book ai didi

iOS开发中对于摄像头的一些基本使用方法分享

转载 作者:qq735679552 更新时间:2022-09-28 22:32:09 26 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章iOS开发中对于摄像头的一些基本使用方法分享由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

在一些应用中,我们需要用到iOS设备的摄像头进行拍照,视频。并且从相册中选取我们需要的图片或者视频。 关于iOS摄像头和相册的应用,可以使用UIImagePickerController类来完成控制.

UIImagePickerController 这个类可以为大家提供照相的功能,以及图片,视频浏览的功能.

检查硬件是否安装有摄像头或者允许操作相册 。

  。

复制代码 代码如下:

#pragma mark - 摄像头和相册相关的公共类 。

  。

// 判断设备是否有摄像头 - (BOOL) isCameraAvailable{ return [UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]; } 。

// 前面的摄像头是否可用 - (BOOL) isFrontCameraAvailable{ return [UIImagePickerControllerisCameraDeviceAvailable:UIImagePickerControllerCameraDeviceFront]; } 。

// 后面的摄像头是否可用 - (BOOL) isRearCameraAvailable{ return [UIImagePickerControllerisCameraDeviceAvailable:UIImagePickerControllerCameraDeviceRear]; } 。

  。

  。

  。

调用摄像头 。

复制代码 代码如下:

- (BOOL) hasMultipleCameras { NSArray *devices = [AVCaptureDevice devicesWithMediaType:AVMediaTypeVideo]; if (devices != nil && [devices count] > 1) return YES; return NO; } 。

  。

- (AVCaptureDevice *)cameraWithPosition : (AVCaptureDevicePosition) position { NSArray *devices = [AVCaptureDevice devicesWithMediaType:AVMediaTypeVideo]; for (AVCaptureDevice *device in devices ) if ( device.position == position ) return device,

return nil ; } 。

  。

- (void) swapFrontAndBackCameras { //check for available cameras! if (![self hasMultipleCameras]) return,

//assumes session is running NSArray *inputs = self.captureSession.inputs; //should only be one value! for ( AVCaptureDeviceInput *captureDeviceInput in inputs ) { AVCaptureDevice *device = captureDeviceInput.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],

[self initializeCaptureDevice:newCamera]; newInput = [AVCaptureDeviceInput deviceInputWithDevice:newCamera error:nil],

// beginConfiguration ensures that pending changes are not applied immediately [self.captureSession beginConfiguration ],

[self.captureSession removeInput:captureDeviceInput]; //remove current [self.captureSession addInput:newInput]; //add new 。

// Changes take effect once the outermost commitConfiguration is invoked. [self.captureSession commitConfiguration]; break ; } } } 。

  。

上面的代码是使用前置摄像头和后置摄像头! 。

最后此篇关于iOS开发中对于摄像头的一些基本使用方法分享的文章就讲到这里了,如果你想了解更多关于iOS开发中对于摄像头的一些基本使用方法分享的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com