private void ReleaseAdsLoader()
 {
     if (imaAdsLoader != null)
     {
         imaAdsLoader.Release();
         imaAdsLoader   = null;
         loadedAdTagUri = null;
         simpleExoPlayerView.OverlayFrameLayout.RemoveAllViews();
     }
 }
 /**
  * Returns an ads media source, reusing the ads loader if one exists.
  *
  * @throws Exception Thrown if it was not possible to create an ads media source, for example, due
  *     to a missing dependency.
  */
 private IMediaSource CreateAdsMediaSource(IMediaSource mediaSource, Uri adTagUri)
 {
     if (imaAdsLoader == null)
     {
         imaAdsLoader       = new ImaAdsLoader(this, adTagUri);
         adOverlayViewGroup = new FrameLayout(this);
         // The demo app has a non-null overlay frame layout.
         simpleExoPlayerView.OverlayFrameLayout.AddView(adOverlayViewGroup);
     }
     return(new ImaAdsMediaSource(mediaSource, mediaDataSourceFactory, imaAdsLoader, adOverlayViewGroup));
 }
 public IMediaSource CreateAdsMediaSource(IMediaSource mediaSource, Android.Net.Uri adTagUri)
 {
     if (ImaAdsLoader == null)
     {
         ImaAdsLoader       = new ImaAdsLoader(ActivityContext, adTagUri);
         adOverlayViewGroup = new FrameLayout(ActivityContext);
         simpleExoPlayerView.OverlayFrameLayout.AddView(adOverlayViewGroup);
         AdsController cont = new AdsController(ActivityContext);
     }
     return(new ImaAdsMediaSource(mediaSource, DefaultDatamediaFactory, ImaAdsLoader, adOverlayViewGroup));
 }
        private IMediaSource CreateMediaSourceWithAds(IMediaSource videoSource, Uri imAdsUri)
        {
            try
            {
                // Player = ExoPlayerFactory.NewSimpleInstance(ActivityContext);
                SimpleExoPlayerView.Player = Player;

                switch (ImaAdsLoader)
                {
                case null:
                {
                    Player ??= new SimpleExoPlayer.Builder(ActivityContext).Build();
                    SimpleExoPlayerView.Player = Player;

                    switch (ImaAdsLoader)
                    {
                    case null:
                    {
                        var imaSdkSettings = ImaSdkFactory.Instance.CreateImaSdkSettings();
                        imaSdkSettings.AutoPlayAdBreaks = true;
                        imaSdkSettings.DebugMode        = true;

                        ImaAdsLoader = new ImaAdsLoader.Builder(ActivityContext)
                                       .SetImaSdkSettings(imaSdkSettings)
                                       .SetMediaLoadTimeoutMs(30 * 1000)
                                       .SetVastLoadTimeoutMs(30 * 1000)
                                       .BuildForAdTag(imAdsUri); // here is url for vast xml file

                        IMediaSourceFactory adMediaSourceFactory = new MediaSourceFactoryAnonymousInnerClass(this);

                        IMediaSource mediaSourceWithAds = new AdsMediaSource(videoSource, adMediaSourceFactory, ImaAdsLoader, SimpleExoPlayerView);
                        return(mediaSourceWithAds);
                    }
                    }

                    break;
                }
                }
            }
            catch (ClassNotFoundException e)
            {
                Console.WriteLine(e.Message);
                // IMA extension not loaded.
                return(null !);
            }
            catch (Exception e)
            {
                Methods.DisplayReportResultTrack(e);
                return(null !);
            }
            return(null !);
        }
Beispiel #5
0
        private IMediaSource CreateMediaSourceWithAds(IMediaSource videoSource, Uri imAdsUri)
        {
            try
            {
                // Player = ExoPlayerFactory.NewSimpleInstance(ActivityContext);
                SimpleExoPlayerView.Player = Player;

                if (ImaAdsLoader == null)
                {
                    //ImaAdsLoader = new ImaAdsLoader(ActivityContext, imAdsUri);
                    var imaSdkSettings = ImaSdkFactory.Instance.CreateImaSdkSettings();
                    imaSdkSettings.AutoPlayAdBreaks = true;
                    imaSdkSettings.DebugMode        = true;

                    IAdDisplayContainer a = ImaSdkFactory.Instance.CreateAdDisplayContainer();
                    a.AdContainer = MainVideoFrameLayout;
                    ImaAdsLoader  = new ImaAdsLoader(ActivityContext, imAdsUri);
                    ImaAdsLoader.SetPlayer(Player);

                    AdMediaSourceFactory adMediaSourceFactory = new AdMediaSourceFactory(this);

                    IMediaSource mediaSourceWithAds = new AdsMediaSource(
                        videoSource,
                        adMediaSourceFactory,
                        ImaAdsLoader,
                        SimpleExoPlayerView);

                    //Player.Prepare(mediaSourceWithAds);
                    //Player.AddListener(PlayerListener);
                    //Player.PlayWhenReady = true;

                    return(mediaSourceWithAds);
                }

                return(new AdsMediaSource(videoSource, new AdMediaSourceFactory(this), ImaAdsLoader, SimpleExoPlayerView));
            }
            catch (ClassNotFoundException e)
            {
                Console.WriteLine(e.Message);
                // IMA extension not loaded.
                return(null);
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                return(null);
            }
        }
 private void ReleaseAdsLoader()
 {
     try
     {
         if (ImaAdsLoader != null)
         {
             ImaAdsLoader.Release();
             ImaAdsLoader = null !;
             SimpleExoPlayerView.OverlayFrameLayout.RemoveAllViews();
         }
     }
     catch (Exception exception)
     {
         Methods.DisplayReportResultTrack(exception);
     }
 }
Beispiel #7
0
 private void ReleaseAdsLoader()
 {
     try
     {
         if (ImaAdsLoader != null)
         {
             ImaAdsLoader.Release();
             ImaAdsLoader = null;
             SimpleExoPlayerView.OverlayFrameLayout.RemoveAllViews();
         }
     }
     catch (Exception exception)
     {
         Console.WriteLine(exception);
     }
 }
 public void ReleaseAdsLoader()
 {
     try
     {
         if (ImaAdsLoader != null)
         {
             ImaAdsLoader.Release();
             ImaAdsLoader = null;
             simpleExoPlayerView.OverlayFrameLayout.RemoveAllViews();
         }
     }
     catch (Exception exception)
     {
         Crashes.TrackError(exception);
     }
 }
Beispiel #9
0
        private IMediaSource CreateMediaSourceWithAds(IMediaSource videoSource, Uri imAdsUri)
        {
            try
            {
                Player = ExoPlayerFactory.NewSimpleInstance(ActivityContext);
                SimpleExoPlayerView.Player = Player;

                if (ImaAdsLoader == null)
                {
                    var imaSdkSettings = ImaSdkFactory.Instance.CreateImaSdkSettings();
                    imaSdkSettings.AutoPlayAdBreaks = true;
                    imaSdkSettings.DebugMode        = true;

                    ImaAdsLoader = new ImaAdsLoader.Builder(ActivityContext)
                                   .SetImaSdkSettings(imaSdkSettings)
                                   .SetMediaLoadTimeoutMs(30 * 1000)
                                   .SetVastLoadTimeoutMs(30 * 1000)
                                   .BuildForAdTag(imAdsUri); // here is url for vast xml file

                    ImaAdsLoader.SetPlayer(Player);

                    IMediaSource mediaSourceWithAds = new AdsMediaSource(
                        videoSource,
                        new AdMediaSourceFactory(this),
                        ImaAdsLoader,
                        SimpleExoPlayerView);

                    return(mediaSourceWithAds);
                }

                return(new AdsMediaSource(videoSource, new AdMediaSourceFactory(this), ImaAdsLoader, SimpleExoPlayerView));
            }
            catch (ClassNotFoundException e)
            {
                Console.WriteLine(e.Message);
                // IMA extension not loaded.
                return(null);
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                return(null);
            }
        }