コード例 #1
0
        public SplitPage()
        {
            this.InitializeComponent();

            InitPlayReady();

            adaptivePlugin = new AdaptivePlugin();
            player.Plugins.Add(adaptivePlugin);

            dashDownloaderPlugin = new DashDownloaderPlugin();
            adaptivePlugin.DownloaderPlugin = dashDownloaderPlugin;
            dashDownloaderPlugin.ChunkRequested += dashDownloaderPlugin_ChunkRequested;
            dashDownloaderPlugin.ManifestRequested += dashDownloaderPlugin_ManifestRequested;

            adaptivePlugin.Manager.OpenedBackground += manager_Opened;
            adaptivePlugin.Manager.ClosedBackground += manager_Closed;

            player.IsFullScreenChanged += player_IsFullScreenChanged;
            Requests.ItemsSource = RequestCollection;
        }
コード例 #2
0
        /// <summary>
        /// Preserves state associated with this page in case the application is suspended or the
        /// page is discarded from the navigation cache.  Values must conform to the serialization
        /// requirements of <see cref="SuspensionManager.SessionState"/>.
        /// </summary>
        /// <param name="pageState">An empty dictionary to be populated with serializable state.</param>
        protected override void SaveState(Dictionary<String, Object> pageState)
        {
            Clear();

            dashDownloaderPlugin.ChunkRequested -= dashDownloaderPlugin_ChunkRequested;
            dashDownloaderPlugin.ManifestRequested -= dashDownloaderPlugin_ManifestRequested;

            adaptivePlugin.Manager.OpenedBackground -= manager_Opened;
            adaptivePlugin.Manager.ClosedBackground -= manager_Closed;

            player.IsFullScreenChanged -= player_IsFullScreenChanged;

            player.Dispose();
            adaptivePlugin = null;
            dashDownloaderPlugin = null;
        }