private void WirePlayer() { var wpfPlayer = new WpfMediaPlayer(this.videoPlayer); this.shellViewModel.SettingsViewModel.WhenAnyValue(x => x.DefaultPlaybackEngine) .Select <DefaultPlaybackEngine, IMediaPlayerCallback>(x => { switch (x) { case DefaultPlaybackEngine.NAudio: return(new NAudioMediaPlayer()); case DefaultPlaybackEngine.Wpf: return(wpfPlayer); } throw new NotImplementedException(); }).Subscribe(x => this.shellViewModel.RegisterAudioPlayer(x)); this.shellViewModel.RegisterVideoPlayer(wpfPlayer); }
private void WirePlayer() { var wpfPlayer = new WpfMediaPlayer(this.videoPlayer); this.shellViewModel.SettingsViewModel.WhenAnyValue(x => x.DefaultPlaybackEngine) .Select<DefaultPlaybackEngine, IMediaPlayerCallback>(x => { switch (x) { case DefaultPlaybackEngine.NAudio: return new NAudioMediaPlayer(); case DefaultPlaybackEngine.Wpf: return wpfPlayer; } throw new NotImplementedException(); }).Subscribe(x => this.shellViewModel.RegisterAudioPlayer(x)); this.shellViewModel.RegisterVideoPlayer(wpfPlayer); }