1 // Copyright 2015-present 650 Industries. All rights reserved. 2 3 #import <ExpoModulesCore/EXModuleRegistry.h> 4 #import <ExpoModulesCore/EXLegacyExpoViewProtocol.h> 5 6 #import <EXAV/EXAVObject.h> 7 #import <EXAV/EXVideoPlayerViewControllerDelegate.h> 8 9 @interface EXVideoView : UIView <EXVideoPlayerViewControllerDelegate, AVPlayerViewControllerDelegate, EXAVObject, EXLegacyExpoViewProtocol> 10 11 typedef NS_OPTIONS(NSUInteger, EXVideoFullscreenUpdate) 12 { 13 EXVideoFullscreenUpdatePlayerWillPresent = 0, 14 EXVideoFullscreenUpdatePlayerDidPresent = 1, 15 EXVideoFullscreenUpdatePlayerWillDismiss = 2, 16 EXVideoFullscreenUpdatePlayerDidDismiss = 3, 17 }; 18 19 @property (nonatomic, strong, getter=getStatus) NSDictionary *status; 20 @property (nonatomic, strong) NSDictionary *source; 21 @property (nonatomic, assign) BOOL useNativeControls; 22 @property (nonatomic, strong) NSString *nativeResizeMode; 23 @property (nonatomic, copy) EXDirectEventBlock onLoadStart; 24 @property (nonatomic, copy) EXDirectEventBlock onLoad; 25 @property (nonatomic, copy) EXDirectEventBlock onError; 26 @property (nonatomic, copy) EXDirectEventBlock onStatusUpdate; 27 @property (nonatomic, copy) EXDirectEventBlock onReadyForDisplay; 28 @property (nonatomic, copy) EXDirectEventBlock onFullscreenUpdate; 29 30 - (instancetype)initWithModuleRegistry:(nullable EXModuleRegistry *)moduleRegistry; 31 32 - (void)setStatus:(NSDictionary *)status 33 resolver:(EXPromiseResolveBlock)resolve 34 rejecter:(EXPromiseRejectBlock)reject; 35 36 - (void)replayWithStatus:(NSDictionary *)status 37 resolver:(EXPromiseResolveBlock)resolve 38 rejecter:(EXPromiseRejectBlock)reject; 39 40 - (void)setSource:(NSDictionary *)source 41 withStatus:(NSDictionary *)initialStatus 42 resolver:(EXPromiseResolveBlock)resolve 43 rejecter:(EXPromiseRejectBlock)reject; 44 45 - (void)setFullscreen:(BOOL)value 46 resolver:(EXPromiseResolveBlock)resolve 47 rejecter:(EXPromiseRejectBlock)reject; 48 49 - (void)setStatusFromPlaybackAPI:(NSDictionary *)status 50 resolver:(EXPromiseResolveBlock)resolve 51 rejecter:(EXPromiseRejectBlock)reject; 52 53 @end 54