欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

iOS開發(fā)中對于攝像頭的一些基本使用方法分享

 更新時間:2015年10月14日 09:53:28   作者:doctorhsly  
這篇文章主要介紹了iOS開發(fā)中對于攝像頭的一些基本使用方法分享,包括判斷攝像頭是否可用的方法,需要的朋友可以參考下

在一些應用中,我們需要用到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圖片界面翻頁切換效果

    這篇文章主要為大家詳細介紹了iOS圖片界面翻頁切換效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • 在iOS10系統(tǒng)中微信后退無法發(fā)起ajax請求的問題解決辦法

    在iOS10系統(tǒng)中微信后退無法發(fā)起ajax請求的問題解決辦法

    這篇文章主要介紹了在iOS10系統(tǒng)中微信后退無法發(fā)起ajax請求的問題解決辦法,一般可以通過延時發(fā)送請求解決,下面通過本文給大家分享下解決辦法,需要的朋友參考下吧
    2017-01-01
  • iOS中CPU線程調試的高級技巧分享

    iOS中CPU線程調試的高級技巧分享

    這篇文章主要給大家介紹了關于iOS中CPU線程調試的高級技巧,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2018-11-11
  • IOS 簡單的本地json格式文件解析的實例詳解

    IOS 簡單的本地json格式文件解析的實例詳解

    這篇文章主要介紹了IOS 簡單的本地json格式文件解析的實例詳解的相關資料,希望通過本文大家能夠掌握這部分內(nèi)容,需要的朋友可以參考下
    2017-09-09
  • iOS實現(xiàn)相冊和網(wǎng)絡圖片的存取

    iOS實現(xiàn)相冊和網(wǎng)絡圖片的存取

    本篇文章主要介紹了iOS實現(xiàn)相冊和網(wǎng)絡圖片的存取,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-04-04
  • IOS 線程死鎖詳細介紹

    IOS 線程死鎖詳細介紹

    這篇文章主要介紹了IOS 線程死鎖詳細介紹的相關資料,需要的朋友可以參考下
    2017-02-02
  • iOS中UIScrollView嵌套UITableView的實踐教程

    iOS中UIScrollView嵌套UITableView的實踐教程

    在UIScrollView嵌套UITableView的問題相信大家都遇到過,小編最近在工作中就遇到了這個問題,所以這篇文章主要介紹了iOS中UIScrollView嵌套UITableView的相關資料,文中介紹的方法是通過自己的實踐所得來的,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-05-05
  • iOS實現(xiàn)雷達掃描效果

    iOS實現(xiàn)雷達掃描效果

    這篇文章主要為大家詳細介紹了iOS實現(xiàn)雷達掃描效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • 去除IOS蘋果手機自帶按鈕樣式的方法(推薦)

    去除IOS蘋果手機自帶按鈕樣式的方法(推薦)

    下面小編就為大家分享一篇去除IOS蘋果手機自帶按鈕樣式的方法(推薦),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-01-01
  • iOS鍵盤彈出遮擋輸入框的解決方法

    iOS鍵盤彈出遮擋輸入框的解決方法

    這篇文章主要為大家詳細介紹了iOS鍵盤彈出遮擋輸入框的解決方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-01-01

最新評論