SDKParameters.m 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. //
  2. // SDKParameters.m
  3. // sampleSDK
  4. //
  5. // Created by 王昭威 on 2023/1/21.
  6. //
  7. #import "SDKParameters.h"
  8. //#import <ui>
  9. @interface SDKParameters ()
  10. // cgrects
  11. @property (nonatomic, strong) NSDictionary<NSNumber*, NSValue*>* resolutionTable;
  12. @end
  13. @implementation SDKParameters
  14. + (instancetype)shared{
  15. static dispatch_once_t token;
  16. static SDKParameters* instance = nil;
  17. dispatch_once(&token, ^{
  18. instance = [[self alloc] init];
  19. });
  20. return instance;
  21. }
  22. - (CGSize)videoResolution{
  23. NSValue* value = self.resolutionTable[@(self.videoQuality)];
  24. if(value == nil){
  25. return [self.resolutionTable[@(SDK_VIDEO_QUALITY_1080)] CGSizeValue];
  26. }
  27. return [value CGSizeValue];
  28. }
  29. - (instancetype)init{
  30. self = [super init];
  31. if(self){
  32. _limitRecordTime = 30;
  33. _flashMode = SDK_FLASH_MODE_OFF;
  34. _resolutionTable = @{
  35. @(SDK_VIDEO_QUALITY_480): [NSValue valueWithCGSize:CGSizeMake(720, 480)],
  36. @(SDK_VIDEO_QUALITY_720): [NSValue valueWithCGSize:CGSizeMake(1280, 720)],
  37. @(SDK_VIDEO_QUALITY_1080): [NSValue valueWithCGSize:CGSizeMake(1920, 1080)],
  38. @(SDK_VIDEO_QUALITY_2160): [NSValue valueWithCGSize:CGSizeMake(3840, 2160)],
  39. };
  40. _resolution = CGSizeMake(1280, 720);
  41. _modeIndex = SDK_CAPTURE_MODE_CONTINUOUS;
  42. _cameraPosition = SDK_CAMERA_PISITION_BACK;
  43. _retainedMode = SDK_DATA_RETAINED_RETAIN;
  44. _videoQuality = SDK_VIDEO_QUALITY_720;
  45. _showPreviewForPanorama = NO;
  46. }
  47. return self;
  48. }
  49. @end