Example #1
0
        private void _mediaPlaybackListItemOpened(MediaPlaybackList sender, MediaPlaybackItemOpenedEventArgs args)
        {
            var modelJson = args.Item.Source.CustomProperties["model"] as string;
            var model     = JsonSerializer.Deserialize <MusicModel>(modelJson);

            _logger.Error($"Open Successfully: \n\t{modelJson}");
            MediaLoaded?.Invoke(model);
        }
Example #2
0
        public void SetMedia(Uri file)
        {
            var media = _vlcMediaPlayer.SetMedia(file);

            if (media != null)
            {
                Play();
                media.Parse();
                MediaLoaded?.Invoke(media.Duration);
            }
        }
Example #3
0
        /// <summary>
        /// Loads a file into the player.
        /// </summary>
        /// <param name="FileName">Path to the file to Load.</param>
        /// <returns><see langword="true"/> on succes, <see langword="false"/> on failure.</returns>
        public async Task <bool> LoadAsync(string FileName)
        {
            try
            {
                if (Handle != 0)
                {
                    Bass.StreamFree(Handle);
                }
            }
            catch { }

            if (_dev != -1)
            {
                Bass.CurrentDevice = _dev;
            }

            var currentDev = Bass.CurrentDevice;

            if (currentDev == -1 || !Bass.GetDeviceInfo(Bass.CurrentDevice).IsInitialized)
            {
                Bass.Init(currentDev);
            }

            var h = await Task.Run(() => OnLoad(FileName));

            if (h == 0)
            {
                return(false);
            }

            Handle = h;

            var tags = TagReader.Read(Handle);

            Title = !string.IsNullOrWhiteSpace(tags.Title) ? tags.Title
                                                           : Path.GetFileNameWithoutExtension(FileName);
            Artist = tags.Artist;
            Album  = tags.Album;

            InitProperties();

            MediaLoaded?.Invoke(h);

            OnPropertyChanged("");

            return(true);
        }
Example #4
0
 /// <summary>
 /// Calls the <see cref="MediaLoaded"/> event.
 /// </summary>
 /// <param name="args">The event args.</param>
 protected virtual void OnMediaLoaded(OnMediaLoadedEventArgs args)
 {
     Media = args.MediaFile;
     MediaLoaded?.Invoke(this, args);
 }