21/09/21 15:17
fosforo
Ciao
Uso questo codice per visualizzare in un Panel il programma FFPLAY:
Il problema è che per farlo funzionare correttamente c'è una istruzione che blocca la Form per alcuni secondi:
Thread.Sleep(6000);
Senza questo Sleep FFPALY non va nel Panel correttamente.
Sto cercando di gestire tutto in un Thread separato per non fermare il Form ma non riesco a gestire lo Sleep.
Se conoscete un altro modo di utilizzare FFPLAY incorniciato in un Panel, i consigli sono ben accetti.
Grazie anticipatamente
Uso questo codice per visualizzare in un Panel il programma FFPLAY:
private void RunFFmpeg1() { ffplay.StartInfo.FileName = "ffplay.exe"; ffplay.StartInfo.Arguments = "-noborder -volume 0 " + "udp://127.0.0.1:2001"; ffplay.StartInfo.CreateNoWindow = true; ffplay.StartInfo.RedirectStandardOutput = true; ffplay.StartInfo.UseShellExecute = false; ffplay.EnableRaisingEvents = true; ffplay.OutputDataReceived += (o, e) => Debug.WriteLine(e.Data ?? "NULL", "ffplay"); ffplay.ErrorDataReceived += (o, e) => Debug.WriteLine(e.Data ?? "NULL", "ffplay"); ffplay.Exited += (o, e) => Debug.WriteLine("Exited", "ffplay"); ffplay.Start(); Thread.Sleep(6000); SetParent(ffplay.MainWindowHandle, this.pane1RTmonitor.Handle); MoveWindow(ffplay.MainWindowHandle, 0, 0, 480, 270, true); }
Il problema è che per farlo funzionare correttamente c'è una istruzione che blocca la Form per alcuni secondi:
Thread.Sleep(6000);
Senza questo Sleep FFPALY non va nel Panel correttamente.
Sto cercando di gestire tutto in un Thread separato per non fermare il Form ma non riesco a gestire lo Sleep.
Se conoscete un altro modo di utilizzare FFPLAY incorniciato in un Panel, i consigli sono ben accetti.
Grazie anticipatamente
Ultima modifica effettuata da Thejuster 23/09/21 9:57
aaa