private void ChoosePlayer()
        {
            progressive_media.Visibility  = System.Windows.Visibility.Collapsed;
            SmoothStream_media.Visibility = System.Windows.Visibility.Collapsed;
            if (_enableSmoothStreamPlayer)
            {
                SmoothStream_media.Visibility = System.Windows.Visibility.Visible;
                media = new SmoothStreamingElement(SmoothStream_media);
                WriteDebug("ChoosePlayer : SmoothStream player");
                return;
            }
            if (_enableMultiCastPlayer)
            {
                progressive_media.Visibility = System.Windows.Visibility.Visible;
                media = new MulticastPlayer(progressive_media, _ip);
                WriteDebug("ChoosePlayer : MultiCast player");
                return;
            }

            //default
            progressive_media.Visibility = System.Windows.Visibility.Visible;
            media = new ProgressiveMediaElement(progressive_media);

            WriteDebug("ChoosePlayer : Progressive download player");
        }
Example #2
0
        private void InitVideoRenderingMethod()
        {
            _videoElement?.UnsubscribeEvents();

            switch (_optionsService.RenderingMethod)
            {
            case RenderingMethod.Ffmpeg:
                _videoElement = new MediaElementUnoSquare(VideoElementFfmpeg);
                break;

            case RenderingMethod.MediaFoundation:
                _videoElement = new MediaElementMediaFoundation(VideoElementMediaFoundation, _optionsService);
                break;

            default:
                throw new NotImplementedException();
            }

            _currentRenderingMethod = _optionsService.RenderingMethod;

            if (_videoDisplayManager != null)
            {
                UnsubscribeVideoEvents();
                _videoDisplayManager.Dispose();
            }

            _videoDisplayManager = new VideoDisplayManager(_videoElement, SubtitleBlock, _optionsService);

            SubscribeVideoEvents();
        }
 public void reloadMedia()
 {
     WriteDebug("method:reloadMedia " + media.CurrentState);
     if (_enableMultiCastPlayer)
     {
         media = new MulticastPlayer(progressive_media, _ip);
     }
 }
 public WEB_METADATA(IMediaElement host, string url, string website, string genre, int rating, int year, bool completed)
 {
     this.host      = host;
     this.url       = url;
     this.website   = website;
     this.genre     = genre;
     this.rating    = rating;
     this.completed = completed;
 }
Example #5
0
        public VideoDisplayManager(IMediaElement mediaElement, TextBlock subtitleBlock, IOptionsService optionsService)
        {
            _mediaElement  = mediaElement;
            _subtitleBlock = subtitleBlock;

            _optionsService = optionsService;

            SubscribeEvents();
        }
 public BOOK_METADATA(IMediaElement host, string publisher, string genre, int rating, int year, bool completed)
 {
     this.host      = host;
     this.publisher = publisher;
     this.genre     = genre;
     this.rating    = rating;
     this.year      = year;
     this.completed = completed;
 }
Example #7
0
        public async Task RevokePublishAsync(Storage storage, IMediaElement element)
        {
            IStorageProvider storageProvider = StorageProviderFactory.GetStorageProvider(
                _serviceProvider, storage.StorageType);

            await storageProvider.RemoveFileAsync(storage.PublishStorageId,
                                                  storage.PublishStorageAccessKey, StorageMode.External,
                                                  storage.PublishHost, element.FilePath, element.GetFileName());
        }
 public FILE_METADATA(IMediaElement host, string filePath, string publisher, string genre, int rating, bool completed)
 {
     this.host          = host;
     this.filePath      = Path.GetFullPath(filePath);
     this.fileName      = Path.GetFileName(this.filePath);
     this.fileExt       = Path.GetExtension(this.filePath);
     this.fileDirectory = Path.GetDirectoryName(this.filePath);
     this.publisher     = publisher;
     this.genre         = genre;
     this.rating        = rating;
     this.completed     = completed;
 }
        /// <summary>
        /// 保存 <see cref="IMediaElement"/> 实例为指定目录文件
        /// </summary>
        /// <param name="mediaElement">指定 <see cref="IMediaElement"/> 实例</param>
        /// <param name="path">文件路径</param>
        public static async Task SaveToAsync(this IMediaElement mediaElement, string path)
        {
            mediaElement = mediaElement ?? throw new ArgumentNullException(nameof(mediaElement));
            path         = path ?? throw new ArgumentNullException(nameof(path));

            var uri = mediaElement.Uri ?? throw new NotSupportedException();

            var client = new HttpClient();
            var bytes  = await client.GetByteArrayAsync(uri);

            await File.WriteAllBytesAsync(path, bytes);
        }
Example #10
0
        public VideoDisplayManager(IMediaElement mediaElement)
        {
            _mediaElement = mediaElement;

            _mediaElement.MediaOpened += HandleMediaOpened;
            _mediaElement.MediaClosed += HandleMediaClosed;
            _mediaElement.MediaEnded  += async(s, e) => await HandleMediaEnded(s, e);

            _mediaElement.MediaFailed        += HandleMediaFailed;
            _mediaElement.RenderingSubtitles += HandleRenderingSubtitles;
            _mediaElement.PositionChanged    += HandlePositionChanged;
            _mediaElement.MessageLogged      += HandleMediaElementMessageLogged;
        }
 public LinkProperty
 (
     string author,
     DateTime createdDate,
     string path,
     byte size,
     string extension,
     IMediaElement linkedObject
 )
     : base(author, createdDate, size)
 {
     Object = linkedObject;
 }
Example #12
0
        public async Task UploadFileAsync(Storage storage, IMediaElement element, Stream stream)
        {
            IStorageProvider storageProvider = StorageProviderFactory.GetStorageProvider(
                _serviceProvider, storage.StorageType);

            await storageProvider.UploadFileAsync(stream, storage.StorageId,
                                                  storage.StorageAccessKey, StorageMode.Internal, storage.DownloadHost,
                                                  element.FilePath, element.GetFileName());

            if (element.IsPublished)
            {
                await this.PublishAsync(storage, element);
            }
        }
Example #13
0
        public async Task PublishAsync(Storage storage, IMediaElement element)
        {
            IStorageProvider storageProvider = StorageProviderFactory.GetStorageProvider(
                _serviceProvider, storage.StorageType);

            using (Stream stream = storageProvider.GetStream(
                       storage.StorageId, storage.StorageAccessKey, StorageMode.Internal,
                       storage.DownloadHost, element.FilePath, element.GetFileName()))
            {
                if (stream == null)
                {
                    return;
                }
                await storageProvider.UploadFileAsync(
                    stream, storage.PublishStorageId, storage.PublishStorageAccessKey,
                    StorageMode.External, storage.PublishHost, element.FilePath, element.GetFileName());
            }
        }
Example #14
0
        /// <inheritdoc />
        public void Unload()
        {
            Manager.ManifestReady     -= Manager_ManifestReady;
            Manager.StateChanged      -= Manager_StateChanged;
            Manager.EndOfLive         -= Manager_EndOfLive;
            Manager.OutsideWindowEdge -= Manager_OutsideWindowEdge;
#if !WINDOWS_PHONE
            Manager.DataReceived -= Manager_DataReceived;
            MediaPlayer.SelectedCaptionChanged -= MediaPlayer_SelectedCaptionChanged;
#endif
            MediaPlayer.SelectedAudioStreamChanged -= MediaPlayer_SelectedAudioStreamChanged;
            MediaPlayer.UpdateCompleted            -= MediaPlayer_UpdateCompleted;
#if WINDOWS_PHONE
            MediaPlayer.MediaLoading -= MediaPlayer_MediaLoading;
            MediaPlayer.MediaClosed  -= MediaPlayer_MediaClosed;
#endif
            Manager.Uninitialize();

            if (mediaElement is IDisposable)
            {
                ((IDisposable)mediaElement).Dispose();
            }
            mediaElement = null;
        }
        private void ChoosePlayer()
        {
            progressive_media.Visibility =  System.Windows.Visibility.Collapsed;
            SmoothStream_media.Visibility = System.Windows.Visibility.Collapsed;
            if (_enableSmoothStreamPlayer)
            {
                SmoothStream_media.Visibility = System.Windows.Visibility.Visible;
                media = new SmoothStreamingElement(SmoothStream_media);
                WriteDebug("ChoosePlayer : SmoothStream player");
                return;
            }
            if (_enableMultiCastPlayer)
            {
                progressive_media.Visibility = System.Windows.Visibility.Visible;
                media = new MulticastPlayer(progressive_media, _ip);
                WriteDebug("ChoosePlayer : MultiCast player");
                return;
            }

            //default
            progressive_media.Visibility = System.Windows.Visibility.Visible;
            media = new ProgressiveMediaElement(progressive_media);

            WriteDebug("ChoosePlayer : Progressive download player");
        }
 public void reloadMedia()
 {
     WriteDebug("method:reloadMedia " + media.CurrentState);
     if (_enableMultiCastPlayer)
     {
         media = new MulticastPlayer(progressive_media, _ip);
     }
 }
Example #17
0
 public IMediaReview Find(IMediaElement media)
 {
     throw new System.NotImplementedException();
 }
Example #18
0
 public void Process(IMediaElement mediaElement)
 {
     throw new NotImplementedException();
 }
        /// <inheritdoc />
        public void Unload()
        {
            Manager.ManifestReady -= Manager_ManifestReady;
            Manager.StateChanged -= Manager_StateChanged;
            Manager.EndOfLive -= Manager_EndOfLive;
            Manager.OutsideWindowEdge -= Manager_OutsideWindowEdge;
#if !WINDOWS_PHONE
            Manager.DataReceived -= Manager_DataReceived;
            MediaPlayer.SelectedCaptionChanged -= MediaPlayer_SelectedCaptionChanged;
#endif
            MediaPlayer.SelectedAudioStreamChanged -= MediaPlayer_SelectedAudioStreamChanged;
            MediaPlayer.UpdateCompleted -= MediaPlayer_UpdateCompleted;
#if WINDOWS_PHONE
            MediaPlayer.MediaLoading -= MediaPlayer_MediaLoading;
            MediaPlayer.MediaClosed -= MediaPlayer_MediaClosed;
#endif
            Manager.Uninitialize();

            if (mediaElement is IDisposable) ((IDisposable)mediaElement).Dispose();
            mediaElement = null;
        }
 private void cleanup()
 {
     if (media is MulticastPlayer)
     {
         (media as MulticastPlayer).ReceivedID3Tag -= MainPage_ReceivedID3Tag;
     }
     if (media is IDisposable)
     {
         (media as IDisposable).Dispose();
         media = null;
     }
 }