public GoogleCastManager() { sessionManager = CastContext.SharedInstance.SessionManager; xamaSessionManagerListener = new XamSessionManagerListener(this); sessionManager.AddListener(xamaSessionManagerListener); castMediaController = new UIMediaController(); castMediaController.Delegate = new XamMediaControllerDelegate(this); }
public virtual void RemoveListener(SessionManagerListener oldListener) { SharingClientPINVOKE.SessionManager_RemoveListener(swigCPtr, SessionManagerListener.getCPtr(oldListener)); }
public virtual void AddListener(SessionManagerListener newListener) { SharingClientPINVOKE.SessionManager_AddListener(swigCPtr, SessionManagerListener.getCPtr(newListener)); }
internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SessionManagerListener obj) { return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr; }
protected override void OnElementChanged(VisualElementChangedEventArgs e) { base.OnElementChanged(e); if (e.OldElement != null || Element == null) { return; } try { SetupChromecastThings(); SetupUserInterface(); StartVideoPlayback(); currentPage = Element; } catch (Exception ex) { System.Diagnostics.Debug.WriteLine($"\t\t\tERROR: {ex.Message}"); } void StartVideoPlayback() { var hasConnection = sessionManager.HasConnectedSession; if (hasConnection) { mLocation = PlaybackLocation.REMOTE; SwitchToRemotePlayback(); ClosePage(); } if (mLocation == PlaybackLocation.LOCAL) { avp.Play(); } } void SetupUserInterface() { url = NSUrl.FromString(mediaInfo.SourceURL); avp = new AVPlayer(url); avpvc = new AVPlayerViewController(); avpvc.Player = avp; AddChildViewController(avpvc); avpvc.View.Frame = new CGRect(0, 100, 375, 300); avpvc.ShowsPlaybackControls = true; View.AddSubview(avpvc.View); var castButton = new UICastButton(new CGRect(50, 20, 24, 24)); View.AddSubview(castButton); } void SetupChromecastThings() { //setup Cast session manager sessionManager = CastContext.SharedInstance.SessionManager; xamaSessionManagerListener = new XamSessionManagerListener(this); sessionManager.AddListener(xamaSessionManagerListener); //castMediaController castMediaController = new UIMediaController(); castMediaController.Delegate = new XamMediaControllerDelegate(); } }
public static extern void SessionManagerListener_director_connect(global::System.Runtime.InteropServices.HandleRef jarg1, SessionManagerListener.SwigDelegateSessionManagerListener_0 delegate0, SessionManagerListener.SwigDelegateSessionManagerListener_1 delegate1, SessionManagerListener.SwigDelegateSessionManagerListener_2 delegate2, SessionManagerListener.SwigDelegateSessionManagerListener_3 delegate3, SessionManagerListener.SwigDelegateSessionManagerListener_4 delegate4, SessionManagerListener.SwigDelegateSessionManagerListener_5 delegate5, SessionManagerListener.SwigDelegateSessionManagerListener_6 delegate6, SessionManagerListener.SwigDelegateSessionManagerListener_7 delegate7, SessionManagerListener.SwigDelegateSessionManagerListener_8 delegate8);
internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SessionManagerListener obj) { return((obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr); }