iOS檢測攝像頭、指南針、陀螺儀的狀態的代碼

6e72 9年前發布 | 2K 次閱讀 Objective-C IOS

//檢查前后攝像頭

  • (void)cameraBtnAction:(id)sender { BOOL cameraAvailable = [UIImagePickerController isCameraDeviceAvailable:
                                          UIImagePickerControllerCameraDeviceRear];//前
    
    BOOL frontCameraAvailable = [UIImagePickerController isCameraDeviceAvailable:
                                                  UIImagePickerControllerCameraDeviceFront];//后
    
    }

//檢查指南針 CoreLocation.framework <CoreLocation/CoreLocation.h>

  • (void)magnetometerBtnAction:(id)sender { BOOL magnetometerAvailbale = [CLLocationManager headingAvailable]; }

//檢查聲音支持 AVFoundation.framework <AVFoundation/AVFoundation.h>

  • (bool)audioBtnAction:(id)sender { //返回一個AVAudioSession實例
    AVAudioSession *audioSession = [AVAudioSession sharedInstance]; BOOL audioAvailable = audioSession.inputAvailable;//bool值。獲取是否支持 }

//檢查錄像支持 MobileCoreServices.framework <MobileCoreServices/MobileCoreServices.h>

  • (BOOL)isvideoCameraAvailable { //簡單檢查所有的可用的媒體資源類型,然后檢查返回的數組, //如果其中包含了kUTTypeMovie的NSString類型對象,就證明攝像頭支持錄像 UIImagePickerController picker = [[UIImagePickerController alloc]init]; //返回所支持的media的類型數組 NSArray sourceTypes = [UIImagePickerController availableMediaTypesForSourceType:picker.sourceType]; [picker release]; if (![sourceTypes containsObject:(NSString *)kUTTypeMovie]) {//containsObject確定數組中是否包含后面的對象
      return NO;
    
    } return YES; }

//檢查陀螺儀可用 CoreMotion.framework <CoreMotion/CoreMotion.h>

  • (BOOL) isGyroscopeAvailable { #ifdef __IPHONE_4_0//4.0之后才有 CMMotionManager *motionManager = [[CMMotionManager alloc]init]; BOOL gyroscopeAvailable = motionManager.gyroAvailable; [motionManager release]; return gyroscopeAvailable; #else return NO; #endif }</pre>
 本文由用戶 6e72 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!