Ejemplo n.º 1
0
        public void PlayVideo(string videoUrL, VideoObject videoObject, long resumePosition)
        {
            try
            {
                if (Player != null)
                {
                    SetStopvideo();

                    Player?.Release();
                    Player = null;

                    //GC Collecter
                    GC.Collect();
                }

                AdaptiveTrackSelection.Factory trackSelectionFactory = new AdaptiveTrackSelection.Factory();
                var trackSelector = new DefaultTrackSelector(trackSelectionFactory);
                var newParameters = new DefaultTrackSelector.ParametersBuilder()
                                    .SetMaxVideoSizeSd()
                                    .SetPreferredAudioLanguage("deu")
                                    .Build();
                trackSelector.SetParameters(newParameters);

                Player = ExoPlayerFactory.NewSimpleInstance(ActivityContext, trackSelector);
                FullWidthSetting();

                DefaultDataMediaFactory = new DefaultDataSourceFactory(ActivityContext, Util.GetUserAgent(ActivityContext, AppSettings.ApplicationName), BandwidthMeter);

                VideoSource = null;
                VideoSource = GetMediaSourceFromUrl(Uri.Parse(videoUrL), "normal");

                SimpleExoPlayerView.Player = Player;
                Player.Prepare(VideoSource);
                Player.AddListener(PlayerListener);
                Player.PlayWhenReady = true;
                Player.AddVideoListener(this);

                bool haveResumePosition = ResumeWindow != C.IndexUnset;
                if (haveResumePosition)
                {
                    Player.SeekTo(ResumeWindow, resumePosition);
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
Ejemplo n.º 2
0
        private void InitializePlayer()
        {
            try
            {
                if (selectedMedia.Status == 1)
                {
                    btnAcceptReject.Text               = "Reject";
                    btnAcceptReject.Background         = Resources.GetDrawable(Resource.Drawable.Shape_Radius_Btn);
                    btnAcceptReject.BackgroundTintList = Resources.GetColorStateList(Resource.Color.gnt_red);
                }
                else
                {
                    btnAcceptReject.Text               = "Accept";
                    btnAcceptReject.Background         = Resources.GetDrawable(Resource.Drawable.Shape_Radius_Btn);
                    btnAcceptReject.BackgroundTintList = Resources.GetColorStateList(Android.Resource.Color.HoloGreenLight);
                }
                AdaptiveTrackSelection.Factory trackSelectionFactory = new AdaptiveTrackSelection.Factory();
                var trackSelector = new DefaultTrackSelector(trackSelectionFactory);

                var newParameters = new DefaultTrackSelector.ParametersBuilder()
                                    .SetMaxVideoSizeSd()
                                    .Build();

                trackSelector.SetParameters(newParameters);

                //DefaultLoadControl.Builder builder = new DefaultLoadControl.Builder();

                //builder.SetBufferDurationsMs(DefaultLoadControl.DefaultMinBufferMs, 60000, DefaultLoadControl.DefaultBufferForPlaybackMs, DefaultLoadControl.DefaultBufferForPlaybackAfterRebufferMs);
                //DefaultLoadControl loadControl = builder.CreateDefaultLoadControl();
                //
                Player = ExoPlayerFactory.NewSimpleInstance(this, trackSelector);
            }
            catch (System.Exception)
            {
            }
        }
Ejemplo n.º 3
0
        //private void txtHideComment_Click(object sender, EventArgs e)
        //{
        //    txtHideComment.Visibility = ViewStates.Gone;
        //    FragmentTransaction ftvideo = SupportFragmentManager.BeginTransaction();
        //    ftvideo.AddToBackStack(null);
        //    ftvideo.SetCustomAnimations(Resource.Animation.slide_up, Resource.Animation.slide_down);
        //    ftvideo.Hide(CommentsFragment).Commit();
        //}
        private void InitializePlayer()
        {
            try
            {
                AdaptiveTrackSelection.Factory trackSelectionFactory = new AdaptiveTrackSelection.Factory();
                var trackSelector = new DefaultTrackSelector(trackSelectionFactory);

                var newParameters = new DefaultTrackSelector.ParametersBuilder()
                                    .SetMaxVideoSizeSd()
                                    .Build();

                trackSelector.SetParameters(newParameters);

                //DefaultLoadControl.Builder builder = new DefaultLoadControl.Builder();

                //builder.SetBufferDurationsMs(DefaultLoadControl.DefaultMinBufferMs, 60000, DefaultLoadControl.DefaultBufferForPlaybackMs, DefaultLoadControl.DefaultBufferForPlaybackAfterRebufferMs);
                //DefaultLoadControl loadControl = builder.CreateDefaultLoadControl();
                //
                Player = ExoPlayerFactory.NewSimpleInstance(this, trackSelector);
            }
            catch (System.Exception)
            {
            }
        }
Ejemplo n.º 4
0
        public void PlayVideo(string videoUrL, VideoObject videoObject, RestrictedVideoFragment restrictedVideoPlayerFragment, Activity activity)
        {
            try
            {
                //RestrictedVideoPlayerFragment = restrictedVideoPlayerFragment;
                //ActivityFragment = activity;

                if (videoObject != null)
                {
                    VideoData = videoObject;
                    ReleaseVideo();

                    bool vidMonit = ListUtils.MySettingsList?.UsrVMon == "on" && VideoData.Monetization == "1" && VideoData.Owner.VideoMon == "1";

                    if (ListUtils.ArrayListPlay.Count > 0)
                    {
                        ListUtils.ArrayListPlay.Remove(VideoData);
                    }

                    var isPro = ListUtils.MyChannelList.FirstOrDefault()?.IsPro ?? "0";
                    if (!AppSettings.AllowOfflineDownload || AppSettings.AllowDownloadProUser && isPro == "0")
                    {
                        DownloadIcon.Visibility = ViewStates.Gone;
                    }

                    MFullScreenIcon.SetImageDrawable(ActivityContext.GetDrawable(Resource.Drawable.ic_action_ic_fullscreen_expand));

                    LoadingProgressBar.Visibility = ViewStates.Visible;

                    Uri url;
                    //Rent Or Sell
                    if (!string.IsNullOrEmpty(VideoData.SellVideo) && VideoData.SellVideo != "0" || !string.IsNullOrEmpty(VideoData.RentPrice) && VideoData.RentPrice != "0" && AppSettings.RentVideosSystem)
                    {
                        if (!string.IsNullOrEmpty(VideoData.Demo) && VideoData.IsPurchased == "0")
                        {
                            if (!VideoData.Demo.Contains(Client.WebsiteUrl))
                            {
                                VideoData.Demo = Client.WebsiteUrl + "/" + VideoData.Demo;
                            }

                            url = Uri.Parse(VideoData.Demo);
                            ShowRestrictedVideo = true;
                        }
                        else if (VideoData.IsPurchased != "0")
                        {
                            url = Uri.Parse(!string.IsNullOrEmpty(videoUrL) ? videoUrL : VideoData.VideoLocation);
                        }
                        else
                        {
                            if (!string.IsNullOrEmpty(VideoData.SellVideo) && VideoData.SellVideo != "0")
                            {
                                ShowRestrictedVideoFragment(restrictedVideoPlayerFragment, activity, "purchaseVideo");
                            }
                            else if (!string.IsNullOrEmpty(VideoData.RentPrice) && VideoData.RentPrice != "0" && AppSettings.RentVideosSystem)
                            {
                                ShowRestrictedVideoFragment(restrictedVideoPlayerFragment, activity, "RentVideo");
                            }
                            return;
                        }
                    }
                    else
                    {
                        url = Uri.Parse(!string.IsNullOrEmpty(videoUrL) ? videoUrL : VideoData.VideoLocation);
                    }

                    AdaptiveTrackSelection.Factory trackSelectionFactory = new AdaptiveTrackSelection.Factory();
                    var trackSelector = new DefaultTrackSelector(trackSelectionFactory);

                    var newParameters = new DefaultTrackSelector.ParametersBuilder()
                                        .SetMaxVideoSizeSd()
                                        .SetPreferredAudioLanguage("deu")
                                        .Build();

                    trackSelector.SetParameters(newParameters);

                    Player = ExoPlayerFactory.NewSimpleInstance(ActivityContext, trackSelector);

                    FullWidthSetting();

                    DefaultDataMediaFactory = new DefaultDataSourceFactory(ActivityContext, Util.GetUserAgent(ActivityContext, AppSettings.ApplicationName), BandwidthMeter);

                    VideoSource = null;

                    // Produces DataSource instances through which media data is loaded.
                    VideoSource = GetMediaSourceFromUrl(url, "normal");

                    if (SimpleExoPlayerView == null)
                    {
                        Initialize();
                    }

                    //Set Cache Media Load
                    if (PlayerSettings.EnableOfflineMode)
                    {
                        VideoSource = CreateCacheMediaSource(VideoSource, url);

                        if (VideoSource != null)
                        {
                            DownloadIcon.SetImageResource(Resource.Drawable.ic_checked_red);
                            DownloadIcon.Tag = "Downloaded";

                            RunVideoWithAds(VideoSource, vidMonit);
                            return;
                        }
                    }

                    //Set Interactive Media Ads
                    if (isPro == "0" && PlayerSettings.ShowInteractiveMediaAds && vidMonit)
                    {
                        VideoSource = CreateMediaSourceWithAds(VideoSource, PlayerSettings.ImAdsUri);
                    }

                    if (VideoSource == null)
                    {
                        VideoSource = GetMediaSourceFromUrl(url, "normal");

                        RunVideoWithAds(VideoSource, vidMonit);
                    }
                    else
                    {
                        RunVideoWithAds(VideoSource, vidMonit);
                    }
                }
            }
            catch (Exception exception)
            {
                Console.WriteLine(exception);
            }
        }