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); }
public void SetMedia(Uri file) { var media = _vlcMediaPlayer.SetMedia(file); if (media != null) { Play(); media.Parse(); MediaLoaded?.Invoke(media.Duration); } }
/// <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); }
/// <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); }