Beispiel #1
0
 public static void SkipToPrev(int id = -1)
 {
     if (PlaystateManagement.MediaPlayerIsStreaming || PlaystateManagement.PlayerTypeQueued() == PlayerType.NativeMediaPlayer)
     {
     }
     if (!PlaystateManagement.MediaPlayerIsStreaming || PlaystateManagement.WebViewPlayerIsStreaming ||
         PlaystateManagement.PlayerTypeQueued() == PlaystateManagement.PlayerType.WebViewPlayer)
     {
         try {
             if (id == -1)
             {
                 if (PlaystateManagement.GetWebViewPlayerById().CanGoBack())
                 {
                     PlaystateManagement.GetWebViewPlayerById().GoBack();
                 }
             }
             else
             {
                 if (PlaystateManagement.GetWebViewPlayerById(id).CanGoBack())
                 {
                     PlaystateManagement.GetWebViewPlayerById(id).GoBack();
                 }
             }
         }catch { }
     }
     else
     {
     }
 }
Beispiel #2
0
 public static void SkipToNext(VideoCard vc)
 {
     if (!PlaystateManagement.MediaPlayerIsStreaming || PlaystateManagement.PlayerTypeQueued() == PlaystateManagement.PlayerType.WebViewPlayer)
     {
         SendWebViewNextVideoCommand();
     }
 }
Beispiel #3
0
 public void Play(int id = -1, PlayerType playerType = PlayerType.None)
 {
     if ((PlaystateManagement.MediaPlayerIsStreaming && PlaystateManagement.MediaPlayerIsQueued) ||
         playerType == PlayerType.NativeMediaPlayer)
     {
         Task.Factory.StartNew(() =>
         {
             if (MediaPlayerDictionary[id] != null)
             {
                 MediaPlayerDictionary[id].Start();
                 return;
             }
             if (MediaPlayerDictionary[id].IsPlaying)
             {
                 PlaystateChanged.Invoke(new PlaystateEventArgs(-1, false, false, false, id, false, false, false, id));
             }
         });
     }
     else if (PlaystateManagement.PlayerTypeQueued() == PlayerType.WebViewPlayer)
     {
         Task.Factory.StartNew(() =>
         {
             if (PlaystateManagement.WebViewPlayerNumberIsStreaming != -1)
             {
                 StartVideoInBkgrd(PlaystateManagement.WebViewPlayerNumberIsStreaming);
             }
             else if (PlaystateManagement.MediaPlayerNumberIsQueued != -1)
             {
                 StartVideoInBkgrd(PlaystateManagement.MediaPlayerNumberIsQueued);
             }
             else
             {
                 StartVideoInBkgrd();
             }
         });
     }
 }
Beispiel #4
0
        /// <summary>
        /// starts the video in background
        /// </summary>
        /// <param name="tab"></param>
        public static async void StartVideoInBkgrd(int webViewId = -1, int mediaPlayerId = -1)
        {
            if (PlaystateManagement.WebViewPlayerIsStreaming || PlaystateManagement.PlayerTypeQueued() == PlayerType.WebViewPlayer)
            {
                if (webViewId == -1)
                {
                    webViewId = PlaystateManagement.WebViewPlayerNumberIsStreaming;
                }
                PlaystateManagement.WebViewPlayerIsStreaming = true;
                await Task.Delay(10);

                ViewHelpers.DoActionOnUiThread(() =>
                {
                    PlaystateManagement.WebViewIdDictionary[webViewId].LoadUrl(JavascriptCommands._jsPlayVideo);
                });
                await Task.Delay(20);

                ViewHelpers.DoActionOnUiThread(() =>
                {
                    PlaystateManagement.WebViewIdDictionary[webViewId].LoadUrl(JavascriptCommands._jsPlayVideo);
                });
                VerifyInBackground(webViewId);
            }
        }