public override bool OnCreateOptionsMenu(IMenu menu) { base.OnCreateOptionsMenu(menu); MenuInflater.Inflate(Resource.Menu.menu, menu); CastButtonFactory.SetUpMediaRouteButton(this, menu, Resource.Id.media_route_menu_item); return(true); }
public override bool OnCreateOptionsMenu(IMenu menu) { var b = base.OnCreateOptionsMenu(menu); MenuInflater.Inflate(Resource.Menu.browse, menu); CastButtonFactory.SetUpMediaRouteButton(ApplicationContext, menu, Resource.Id.media_route_menu_item); return(b); }
public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { instance = this; View view = inflater.Inflate(Resource.Layout.player, container, false); if (!view.FindViewById <ImageButton>(Resource.Id.playButton).HasOnClickListeners) { view.FindViewById <ImageButton>(Resource.Id.downButton).Click += Down_Click; view.FindViewById <ImageButton>(Resource.Id.showQueue).Click += ShowQueue_Click; view.FindViewById <ImageButton>(Resource.Id.lastButton).Click += Last_Click; view.FindViewById <ImageButton>(Resource.Id.playButton).Click += Play_Click; view.FindViewById <ImageButton>(Resource.Id.nextButton).Click += Next_Click; view.FindViewById <ImageButton>(Resource.Id.moreButton).Click += More; view.FindViewById <ImageButton>(Resource.Id.repeat).Click += (sender, e) => { MusicPlayer.Repeat(); }; view.FindViewById <ImageButton>(Resource.Id.fav).Click += Fav; } albumArt = view.FindViewById <ImageView>(Resource.Id.playerAlbum); timer = view.FindViewById <TextView>(Resource.Id.timer); bar = view.FindViewById <SeekBar>(Resource.Id.songTimer); bar.ProgressChanged += async(sender, e) => { if (!MusicPlayer.isLiveStream) { timer.Text = string.Format("{0} | {1}", DurationToTimer(e.Progress), DurationToTimer(await MusicPlayer.Duration())); } }; bar.StartTrackingTouch += (sender, e) => { MusicPlayer.autoUpdateSeekBar = false; }; bar.StopTrackingTouch += async(sender, e) => { MusicPlayer.autoUpdateSeekBar = true; if (!(await MusicPlayer.GetItem()).IsLiveStream) { MusicPlayer.SeekTo(e.SeekBar.Progress); } }; DrawerLayout = view.FindViewById <DrawerLayout>(Resource.Id.queueDrawer); DrawerLayout.AddDrawerListener(new QueueListener(view.FindViewById <ImageView>(Resource.Id.queueBackground))); DisplayMetrics metrics = new DisplayMetrics(); Activity.WindowManager.DefaultDisplay.GetMetrics(metrics); view.FindViewById(Resource.Id.queueParent).LayoutParameters.Width = (int)(metrics.WidthPixels * 0.75f); ((FrameLayout.LayoutParams)view.FindViewById(Resource.Id.queue).LayoutParameters).TopMargin = Resources.GetDimensionPixelSize(Resources.GetIdentifier("status_bar_height", "dimen", "android")); spBar = Activity.FindViewById <ProgressBar>(Resource.Id.spProgress); CastButtonFactory.SetUpMediaRouteButton(Activity, view.FindViewById <MediaRouteButton>(Resource.Id.castButton)); RefreshPlayer(); return(view); }
protected override void OnElementChanged(ElementChangedEventArgs <CastButton> e) { base.OnElementChanged(e); if (e.NewElement != null) { _nativeCastButton = new MediaRouteButton(_context); SetNativeControl(_nativeCastButton); CastButtonFactory.SetUpMediaRouteButton(_context, _nativeCastButton); } }
protected override void OnCreate(Bundle savedInstanceState) { RequestedOrientation = Android.Content.PM.ScreenOrientation.Landscape; base.OnCreate(savedInstanceState); castSessionManagerListener = new CastSessionManagerListener(this); castContext = CastContext.GetSharedInstance(this); castSession = castContext.SessionManager.CurrentCastSession; castContext.SessionManager.AddSessionManagerListener(castSessionManagerListener); //setup layout and video data SetContentView(Resource.Layout.playerPageLayout); mediaInfo = chromecastService.Value.GetPlaybackAsset(); //TITLE assetTitle = FindViewById <TextView>(Resource.Id.assetTitle); assetTitle.Text = mediaInfo.DisplayName; assetTitle.TextSize = 20; //BACKBUTTON backButton = FindViewById <Button>(Resource.Id.backButton); backButton.Click += BackButton_Click; //Cast Button setup castButton = (MediaRouteButton)FindViewById(Resource.Id.media_route_button); CastButtonFactory.SetUpMediaRouteButton(ApplicationContext, castButton); //VideoPlayer Source videoView = FindViewById <VideoView>(Resource.Id.video_view); var videoURL = Android.Net.Uri.Parse(mediaInfo.SourceURL); mController = new Android.Widget.MediaController(this); mController.SetAnchorView(videoView); videoView.SetVideoURI(videoURL); videoView.SetMediaController(mController); if (mLocation == PlaybackLocation.LOCAL) { videoView.Start(); } else { castSession = castContext.SessionManager.CurrentCastSession; if ((castSession != null) && (castSession.IsConnected == true)) { //setup media to send to cast receiver mLocation = PlaybackLocation.REMOTE; var test = castContext.SessionManager.CurrentCastSession; //call/initialize customCastMediaManager if needed. this sample uses default things } } }