public void Load(Track track) { var currentTrack = track as GroovesharkTrack; if (currentTrack != null) { lock (_trackPlayerLock) { try { if (_trackPlayer != null) { _trackPlayer.Stop(); } } catch (Exception e) { _log.Log("While disposing old trackplayer: " + e.Message, Category.Warn, Priority.Medium); } var client = GroovesharkModule.GetClient(); var stream = client.GetMusicStream(currentTrack.SongID, currentTrack.ArtistID); Action <Track> trackComplete = OnTrackComplete; Action <bool> isPlaying = parameter => IsPlaying = parameter; Action <bool> isBuffering = parameter => IsBuffering = parameter; Action <double, double> trackProgress = OnTrackProgress; _trackPlayer = new GrooveSharkTrackPlayerHandler( _log, currentTrack, trackComplete, isPlaying, isBuffering, trackProgress); _trackPlayer.Initialize(stream.Stream); } } }
public void Load(Track track) { var currentTrack = track as GroovesharkTrack; if (currentTrack != null) { lock (_trackPlayerLock) { try { if (_trackPlayer != null) { _trackPlayer.Stop(); } } catch (Exception e) { _log.Log("While disposing old trackplayer: " + e.Message, Category.Warn, Priority.Medium); } var client = GroovesharkModule.GetClient(); var stream = client.GetMusicStream(currentTrack.SongID, currentTrack.ArtistID); Action<Track> trackComplete = OnTrackComplete; Action<bool> isPlaying = parameter => IsPlaying = parameter; Action<bool> isBuffering = parameter => IsBuffering = parameter; Action<double, double> trackProgress = OnTrackProgress; _trackPlayer = new GrooveSharkTrackPlayerHandler( _log, currentTrack, trackComplete, isPlaying, isBuffering, trackProgress); _trackPlayer.Initialize(stream.Stream); } } }