internal async Task <bool> RunInternal(Dictionary <Type, object> viewModelsMapping, IPreviewer previewer) { if (isRunning) { return(true); } mainScheduler = TaskScheduler.FromCurrentSynchronizationContext(); host = await HttpHost.StartServer(this, Constants.DEFAULT_PORT, PORTS_RANGE); if (host == null) { Log.Error("Couldn't start server"); return(false); } broadcaster = new DiscoveryBroadcaster(port, true); await broadcaster.Start(); if (viewModelsMapping == null) { viewModelsMapping = new Dictionary <Type, object>(); } if (previewer == null) { previewer = new Previewer(viewModelsMapping); } this.previewer = previewer; vm = new VM(); isRunning = true; return(true); }
internal async Task <bool> RunInternal(Dictionary <Type, object> viewModelsMapping, IPreviewer previewer, string ideIP, int idePort, IUIToolkit uiToolkit, ITcpCommunicatorClient client) { if (isRunning) { return(true); } this.uiToolkit = uiToolkit; if (client == null) { client = new TcpCommunicatorClient(); } this.client = client; client.DataReceived += HandleDataReceived; mainScheduler = TaskScheduler.FromCurrentSynchronizationContext(); await RegisterDevice(ideIP, idePort); if (viewModelsMapping == null) { viewModelsMapping = new Dictionary <Type, object>(); } if (previewer == null) { previewer = new Previewer(viewModelsMapping); } this.previewer = previewer; vm = new VM(); isRunning = true; return(true); }
public IPreviewer CreatePreviewer(string fileName, string originName) { if (string.IsNullOrEmpty(fileName)) { return(null); } if (!(File.Exists(fileName))) { return(null); } IPreviewer previewer = null; //转化为大写,避免出现后缀大小写不一致的问题; var uperFileName = originName.ToUpper(); if (SqliteExtensionNames.FirstOrDefault(p => uperFileName.EndsWith(p)) != null) { previewer = new SqlitePreviewer(fileName); } else if (VlcExtensionNames.FirstOrDefault(p => uperFileName.EndsWith(p)) != null) { previewer = new VlcVideoPreviewer(fileName); } else { previewer = new OutsideInPreviewer(fileName); } return(previewer); }
private void Button_Click_1(object sender, RoutedEventArgs e) { bd.Child = null; _previewer?.Dispose(); _previewer = null; #if DEBUG for (int i = 0; i < 2; i++) { System.GC.Collect(); System.GC.WaitForPendingFinalizers(); } #endif }
public TestVideoPreviewer() { InitializeComponent(); var providers = ServiceProvider.GetAllInstances <IPreviewProvider>(); IPreviewer previewer = null; foreach (var pro in providers) { previewer = pro.CreatePreviewer("D:\\C# Console\\ConsoleApp1\\ITunes\\1.mp4", "1.mp4"); if (previewer != null) { break; } } mainContent.Content = previewer.UIObject; }
internal async Task <bool> RunInternal(Dictionary <Type, object> viewModelsMapping, IPreviewer previewer) { if (isRunning) { return(true); } mainScheduler = TaskScheduler.FromCurrentSynchronizationContext(); await RegisterDevice(); if (viewModelsMapping == null) { viewModelsMapping = new Dictionary <Type, object>(); } if (previewer == null) { previewer = new Previewer(viewModelsMapping); } this.previewer = previewer; vm = new VM(); isRunning = true; return(true); }
public static Task <bool> Run(Dictionary <Type, object> viewModelsMapping = null, IPreviewer previewer = null) { return(Instance.RunInternal(viewModelsMapping, previewer)); }
public static Task <bool> Run(Dictionary <Type, object> viewModelsMapping = null, IPreviewer previewer = null, string ideIP = null, int idePort = Constants.DEFAULT_PORT) { return(Instance.RunInternal(viewModelsMapping, previewer, ideIP, idePort, new UIToolkit(), new TcpCommunicatorClient())); }
private void ShowPreviewContent() { if (!ShowPreview) { return; } if (SelectedControl == null) { return; } if (SelectedControl.IsDir) { return; } try { IPreviewer view = null; var ext = Path.GetExtension(SelectedControl.DisplayName); foreach (var item in Previewer) { foreach (var type in item.SupportExtensions) { if (type == ext) { view = item; break; } } } if (view == null) { sideTh.Visibility = Visibility.Collapsed; } else { var realpath = Path.Combine(CurrentPath, SelectedControl.ItemName); var displaypath = Path.Combine(CurrentPath, SelectedControl.DisplayName); var preview = view.GetPreview(realpath, displaypath); if (preview == null) { sideTh.Visibility = Visibility.Collapsed; } else { sideTh.Visibility = Visibility.Visible; sideName.Content = preview.Name; sideThumb.Source = preview.PreviewImage; sidePath.Content = SelectedControl.DisplayName; } } } catch (Exception ex) { MessageBox.Show(ex.ToString()); } }
public static Task <bool> Run(Dictionary <Type, object> viewModelsMapping = null, IPreviewer previewer = null, string ideIP = null, int idePort = Constants.DEFAULT_PORT) { return(Instance.RunInternal(viewModelsMapping, previewer, ideIP, idePort)); }