public PlayerView() { InitializeComponent(); NavigationPage.SetHasNavigationBar(this, false); Player = DependencyService.Get <IPlayerService>(DependencyFetchTarget.NewInstance); Player.StateChanged() .ObserveOn(SynchronizationContext.Current) .Subscribe(OnPlayerStateChanged, OnPlayerCompleted); Player.PlaybackError() .ObserveOn(SynchronizationContext.Current) .Subscribe(async message => await OnPlaybackError(message)); Player.BufferingProgress() .ObserveOn(SynchronizationContext.Current) .Subscribe(OnBufferingProgress); PlayButton.Clicked += (s, e) => { Play(); }; PropertyChanged += PlayerViewPropertyChanged; _seekLogic = new SeekLogic(this); }
protected override void OnCreate() { _uiContext = SynchronizationContext.Current; OpenGLLoggerManager.Configure(_uiContext); _seekLogic = new SeekLogic(this); DllImports.Create(); InitMenu(); }
public void SetSeekPreviewReader(StoryboardReader storyboardReader, SeekLogic seekLogic) { _seekPreviewReader?.Dispose(); _seekPreviewReader = storyboardReader; seekLogic.StoryboardReader = _seekPreviewReader; DllImports.SetSeekPreviewCallback(_getSeekPreviewStoryboardDelegate); _seekLogic = seekLogic; }
public JuvoPlayerModule(ReactContext reactContext, IDeepLinkSender deepLinkSender) : base(reactContext) { seekLogic = new SeekLogic(this); this.deepLinkSender = deepLinkSender; seekCompletedSub = seekLogic.SeekCompleted().Subscribe(message => { var param = new JObject(); SendEvent("onSeekCompleted", param); }); }
public JuvoPlayerModule(ReactContext reactContext, IDeepLinkSender deepLinkSender, SynchronizationContext mainSynchronizationContext) : base(reactContext) { seekLogic = new SeekLogic(this); this.deepLinkSender = deepLinkSender; this.mainSynchronizationContext = mainSynchronizationContext; seekCompletedSub = seekLogic.SeekCompleted().Subscribe(message => { var param = new JObject(); SendEvent("onSeekCompleted", param); }); playbackTimer = new Timer( callback: new TimerCallback(UpdatePlayTime), state: seekLogic.CurrentPositionUI, Timeout.Infinite, Timeout.Infinite); }
public PlayerView() { InitializeComponent(); NavigationPage.SetHasNavigationBar(this, false); Player = DependencyService.Get <IPlayerService>(DependencyFetchTarget.NewInstance); _subscriptions = new CompositeDisposable { Player.StateChanged() .ObserveOn(SynchronizationContext.Current) .Subscribe(OnPlayerStateChanged, OnPlayerCompleted), Player.PlaybackError() .ObserveOn(SynchronizationContext.Current) .Subscribe(async message => await OnPlaybackError(message)), Player.BufferingProgress() .ObserveOn(SynchronizationContext.Current) .Subscribe(OnBufferingProgress) }; PlayButton.Clicked += (s, e) => { Play(); }; Progressbar.PropertyChanged += (sender, args) => { if (args.PropertyName == "Progress") { UpdateSeekPreviewFramePosition(); } }; PropertyChanged += PlayerViewPropertyChanged; _seekLogic = new SeekLogic(this); }
public JuvoPlayerModule(ReactContext reactContext) : base(reactContext) { seekLogic = new SeekLogic(this); }