FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Visualizar video con el codigo en un thread
Hola a todos!
Tengo un problema con mi código y espero que alguien pueda ayudarme. La cosa es que intento visualizar un video con mi aplicacion y el código para ello lo tengo en un thread para poder hacer más cosas. La cosa es que si el código lo tengo en el Thread me dice que el fichero no exista aunque exista, mientras que si el mismo código lo tengo en el principal si puedo visualizar el video sin problemas. El código de mi hilo es este. Si veis algo raro o que me falta algo que pudiese ayudarme os lo agradecería mucho. Código:
unit HiloVisualizarvideo; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls, FileCtrl; type VisualizarVideo = class(TThread) private { Private declarations } protected procedure Execute; override; end; implementation uses Visualizacion, BusquedaBD; { Important: Methods and properties of objects in VCL can only be used in a method called using Synchronize, for example, Synchronize(UpdateCaption); and UpdateCaption could look like, procedure HiloVisualizarVideo.UpdateCaption; begin Form1.Caption := 'Updated in a thread'; end; } { HiloVisualizarVideo } procedure VisualizarVideo.Execute; var nom : String; IdUser : String; path : String; begin { Place thread code here } MisvideosSeguridad.OpenDialog1.DefaultExt := 'avi'; MisvideosSeguridad.OpenDialog1.Filter := 'AVI files (*.avi)|*.avi'; nom:= SearchBD.Edit5.Text; MisvideosSeguridad.nombreborrar:=nom; SearchBD.Edit5.Clear; IdUser:=MisvideosSeguridad.Edit9.Text; MisvideosSeguridad.IdBorrar:=IdUser; MisvideosSeguridad.OpenDialog1.FileName:= 'C:\Videos\'+IdUser+'\'+nom+'.avi'; path:='C:\Videos\'+IdUser+'\'+nom+'.avi'; if DirectoryExists(path) then begin MisvideosSeguridad.VLAVIPlayer1.FileName:=MisvideosSeguridad.OpenDialog1.FileName; //Seleccionamos el nombre del fichero a visualizar MisvideosSeguridad.StatusBar1.SimpleText := 'Repoduciendo Archivo: ' + MisvideosSeguridad.OpenDialog1.FileName; MisvideosSeguridad.VLAVIPlayer1.Enabled:=true; end; if not DirectoryExists(path) then MisvideosSeguridad.Edit4.Text:=path; end; end. Un saludo. |
#2
|
||||
|
||||
No entiendo por que usas un hilo! acaso un TMediaPlayer o cualquier otro componente basado en MCI no crea internamente los hilos necesarios? Si es por causa del VLAVIPlayer usa otro componente que el AVI no necesita nada en "especial".
Saludos |
#3
|
|||
|
|||
Hola!!
Pues tenías razón, el TVLAVIPlayer implementa ya un hilo para la visualización. Muchas gracias, porque es que no paro de darle vueltas a los threads y lo complico yo más:-) De nuevo muchas gracias. Por cierto a ver si alguien pudiese ayudarme con otro problemilla, la cosa es que tengo que grabar desde mi web cam, y entonces como cuando estaba grabando la aplicacion se quedaba solo grabando y no podía hacer nada más, he puesto el código de la grabación en un thread, pero se sigue quedando pillada y sólo graba, no me permite hacer nada mientras graba, cómo puedo solucionar esto? porque según yo entiendo la definición de thread, podría conseguir esto usando uno, pero no es así. Tal vez no estoy usando la llamada adecuada del thread, así que la adjunto por si alguien puede ayudarme. Código:
procedure TMisvideosSeguridad.Grabar_captura(); var p : GrabarCaptura; begin p:= GrabarCaptura.Create(True); p.FreeOnTerminate := False; p.Resume; end; Si alguien pudiese ayudarme o guiarme un poco sería genial. Un saludo. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Insertar Video, o vista preeliminar de video | JuanErasmo | .NET | 0 | 10-01-2007 21:27:20 |
Thread bendito thread...se me pierde la ventana | Seba.F1 | API de Windows | 5 | 02-02-2006 01:16:30 |
Visualizar video | D@byt | Gráficos | 1 | 15-09-2005 07:43:26 |
Visualizar video en formato avi | D@byt | Gráficos | 1 | 04-08-2005 04:19:00 |
Establezer el codec de compresion de video por codigo | Sick boy | API de Windows | 0 | 10-11-2003 21:01:14 |
|