示例#1
0
        protected override void OnElementChanged(ElementChangedEventArgs <MyCastButton> e)
        {
            base.OnElementChanged(e);

            if (e.NewElement != null)
            {
                if (Control == null)
                {
                    mediaRouteButton = new MediaRouteButton(Context);

                    mediaRouter        = MediaRouter.GetInstance(Context);
                    mediaRouteSelector = new MediaRouteSelector
                                         .Builder()
                                         .AddControlCategory(CastMediaControlIntent.CategoryForCast("0A6928D1"))
                                         .Build();

                    mediaRouterCallback = new CustomMediaRouterCallBack();
                    mediaRouter.AddCallback(mediaRouteSelector, mediaRouterCallback, MediaRouter.CallbackFlagPerformActiveScan);
                    mediaRouteButton.RouteSelector = mediaRouteSelector;

                    //CastButtonFactory.SetUpMediaRouteButton(Context, mediaRouteButton);
                    //var castContext = CastContext.SharedInstance;
                    //castContext.
                    linearLayout = new LinearLayout(Context);
                    linearLayout.AddView(mediaRouteButton);

                    SetNativeControl(linearLayout);
                }
            }
        }
示例#2
0
        private void InitCast()
        {
            castContext = CastContext.GetSharedInstance(this.ApplicationContext);

            castContext.SessionManager.AddSessionManagerListener(this);

            //var prov = new MediaRouteActionProvider(Application.Context);

            callback = new MediaRouteSelectorCallback();

            mediaRouteSelector = new MediaRouteSelector.Builder()
                                 // These are the framework-supported intents
                                 .AddControlCategory(MediaControlIntent.CategoryRemotePlayback)
                                 .AddControlCategory(MediaControlIntent.CategoryLiveAudio)
                                 .AddControlCategory(CastMediaControlIntent.CategoryForCast(CastMediaControlIntent.DefaultMediaReceiverApplicationId))
                                 .Build();

            mediaRouter = MediaRouter.GetInstance(this.ApplicationContext);
        }
示例#3
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            SetContentView(Resource.Layout.activity_main);

            this.InitToolbar();

            _mediaRouter = MediaRouter.GetInstance(ApplicationContext);

            _mediaRouteSelector = new MediaRouteSelector.Builder()
                                  .AddControlCategory(CastMediaControlIntent.CategoryForCast(GetAppId()))
                                  .Build();

            _mediaRouterCallback = new MyMediaRouterCallback
            {
                RouteSelected   = OnRouteSelected,
                RouteUnselected = OnRouteUnselected
            };

            Setup();
        }