Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Ayuda con contro de procesos

Estas en el tema de Ayuda con contro de procesos en el foro de Visual Basic clásico en Foros del Web. Hola amigos: Ante todo presentarme en el foro y felicitaros por vuestro trabajo. Estoy programando un conversor de video y tengo un problema que me ...
  #1 (permalink)  
Antiguo 03/04/2007, 14:28
 
Fecha de Ingreso: abril-2007
Mensajes: 1
Antigüedad: 17 años, 1 mes
Puntos: 0
Ayuda con contro de procesos

Hola amigos:

Ante todo presentarme en el foro y felicitaros por vuestro trabajo.

Estoy programando un conversor de video y tengo un problema que me trae de cabeza. Basicamente lo que hago es llamar al FFMPEG con una serie de parámetros, y quiero controlar el retorno del proceso mientras comprime para hacer avanzar una barra de progreso y avisar al usuario de errores, etc.

Hasta ahora he intentado esto:

Dim cmd As New Process()

cmd.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden
cmd.StartInfo.CreateNoWindow = True
cmd.StartInfo.RedirectStandardOutput = True
cmd.StartInfo.UseShellExecute = False
cmd.StartInfo.FileName = My.Application.Info.DirectoryPath & "\ffmpeg.exe"
cmd.StartInfo.Arguments = "-y -i """ & VideoFileIn & """ -f mp4 -vcodec xvid -b 768k -acodec aac -ac 2 -ab 128 """ & VideoFileOut & """"

Dim retorno As String

Do
retorno = cmd.StandardOutput.ReadLine()

If cmd.HasExited Then
Exit Do
End If

Loop

cmd.Close()

La aplicación se arranca y ejecuta correctamente, pero no tengo ningún feedback de lo que está pasando.

También lo he intentado usando BeginOutputReadLine para hacerlo usando lectura asíncrona, pero lo máximo que he conseguido es que la función que he asociado al manejador se ejecute al terminar el proceso.

Private Shared Sub SortOutputHandler(sendingProcess As Object, _
outLine As DataReceivedEventArgs)

¿Se os ocurre alguna forma de poder solucionar este problema? Os estaría muy agradecido.

saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:12.