@@ -63,24 +63,27 @@ class RNTrimmerView: RCTView, ICGVideoTrimmerDelegate {
6363 if trimmerView != nil {
6464 self . trimmerView!. frame = rect
6565 self . trimmerView!. themeColor = self . mThemeColor
66- self . layoutIfNeeded ( )
67- trimmerView! . resetSubviews ( )
66+ self . trimmerView! . resetSubviews ( )
67+ Timer . scheduledTimer ( timeInterval : 0.5 , target : self , selector : #selector ( self . updateTrimmer ) , userInfo : nil , repeats : false )
6868 }
6969 }
7070
71+ func updateTrimmer( ) {
72+ self . trimmerView!. resetSubviews ( )
73+ }
74+
7175 func setSource( source: NSString ? ) {
7276 if source != nil {
73- // let pathToSource = Bundle.main.path(forResource: source! as String, ofType: "mp4")
74- let pathToSource = Bundle . main. path ( forResource: " Simons_Cat " , ofType: " mp4 " )
75- let videoPath = NSURL . init ( fileURLWithPath: pathToSource!) as URL
76- self . asset = AVAsset ( url: videoPath)
77-
77+ let pathToSource = NSURL ( string: source! as String )
78+ self . asset = AVURLAsset ( url: pathToSource as! URL , options: nil )
79+
7880 trimmerView = ICGVideoTrimmerView ( frame: rect, asset: self . asset)
7981 trimmerView!. maxLength = CGFloat ( self . asset. duration. seconds)
8082 trimmerView!. showsRulerView = false
8183 trimmerView!. hideTracker ( true )
8284 trimmerView!. delegate = self
8385 self . addSubview ( trimmerView!)
86+ self . updateView ( )
8487 }
8588 }
8689
@@ -94,7 +97,7 @@ class RNTrimmerView: RCTView, ICGVideoTrimmerDelegate {
9497 }
9598
9699 func onTrimmerPositionChange( startTime: CGFloat , endTime: CGFloat ) {
97- if ( self . bridge != nil ) {
100+ if ( self . bridge != nil && self . bridge . eventDispatcher ( ) != nil ) {
98101 let event = [ " startTime " : startTime, " endTime " : endTime]
99102 self . bridge. eventDispatcher ( ) . sendAppEvent ( withName: " VIDEO_PROCESSING_EVENT_TRIMMER " , body: event)
100103 }
0 commit comments