检查前后摄像头等硬件

来源:互联网 发布:沙迪克慢走丝编程实例 编辑:程序博客网 时间:2024/05/22 08:26
  1. //检查前后摄像头  
  2. BOOL cameraAvailable = [UIImagePickerController isCameraDeviceAvailable:UIImagePickerControllerCameraDeviceRear];//前  
  3. BOOL frontCameraAvailable = [UIImagePickerController isCameraDeviceAvailable:UIImagePickerControllerCameraDeviceFront];//后  
  4.   
  5. //检查指南针 CoreLocation.framework  <CoreLocation/CoreLocation.h>  
  6. BOOL magnetometerAvailbale = [CLLocationManager headingAvailable];  
  7.   
  8. //检查声音支持 AVFoundation.framework <AVFoundation/AVFoundation.h>  
  9. AVAudioSession *audioSession = [AVAudioSession sharedInstance];  //返回一个AVAudioSession实例  
  10. BOOL audioAvailable = audioSession.inputAvailable;//bool值。获取是否支持  
  11.   
  12. //检查录像支持 MobileCoreServices.framework <MobileCoreServices/MobileCoreServices.h>  
  13. - (BOOL)isvideoCameraAvailable  
  14. {  
  15.     //简单检查所有的可用的媒体资源类型,然后检查返回的数组,如果其中包含了kUTTypeMovie的NSString类型对象,就证明摄像头支持录像  
  16.     UIImagePickerController *picker = [[UIImagePickerController alloc]init];  
  17.     NSArray *sourceTypes = [UIImagePickerController availableMediaTypesForSourceType:picker.sourceType];//返回所支持的media的类型数组  
  18.     [picker release];  
  19.   
  20.     if (![sourceTypes containsObject:(NSString *)kUTTypeMovie]) {//containsObject确定数组中是否包含后面的对象  
  21.         return NO;  
  22.     }  
  23.     return YES;  
  24. }  
  25.       
  26. //检查陀螺仪可用 CoreMotion.framework <CoreMotion/CoreMotion.h>  
  27. - (BOOL) isGyroscopeAvailable  
  28. {  
  29. #ifdef __IPHONE_4_0//4.0之后才有  
  30.     CMMotionManager *motionManager = [[CMMotionManager alloc]init];  
  31.     BOOL gyroscopeAvailable = motionManager.gyroAvailable;  
  32.     [motionManager release];  
  33.     return gyroscopeAvailable;  
  34. #else  
  35.     return NO;  
  36. #endif  
  37. }  
0 0