Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: aaronduran2 en 30 Octubre 2009, 23:51 pm



Título: Relación de aspecto con vídeos
Publicado por: aaronduran2 en 30 Octubre 2009, 23:51 pm
Hola. Estoy intentando agregar la funcionalidad de cambiar la relación de aspecto en un reproductor de vídeo, pero no sé exactamente qué tengo que poner.
Utilizo la API mciSendString para ello.

Código
  1. Private Sub Form_Resize()
  2.    picVideo.Height = Me.ScaleHeight: picVideo.Width = Me.ScaleWidth
  3.    c_Reproductor.EstablecerPosicionVentana 0, 0, picVideo.Width / Screen.TwipsPerPixelX, picVideo.Height / Screen.TwipsPerPixelY
  4. End Sub

Con esto aparecía por defecto con la relación del vídeo, pero, ¿qué medidas debería poner para, por ejemplo, una relación de 16:9?
Al estilo del VLC Media Player.

Saludos y gracias de antemano.


Título: Re: Relación de aspecto con vídeos
Publicado por: BlackZeroX en 31 Octubre 2009, 00:43 am
para eso:

Código
  1. Error = mciSendString("put " & medio & " window at " & Left & " " & Top & " " & Width & " " & Height, 0, 0, 0)
  2.  

ok

P.D.: Publique una dll hace tiempo que controla casi todo lo de mscisendstring, esta en el foro.

Dulces Lunas


Título: Re: Relación de aspecto con vídeos
Publicado por: aaronduran2 en 31 Octubre 2009, 01:08 am
Código
  1. Error = mciSendString("put " & medio & " window at " & Left & " " & Top & " " & Width & " " & Height, 0, 0, 0)
  2.  

Eso es lo que está en la función "EstablecerPosicionVentana", pero lo que necesitaba serían las medidas exactas para ponerlo en 16:9 o 4:3, por ejemplo, ya que me pierdo con las conversiones.

Saludos ;)


Título: Re: Relación de aspecto con vídeos
Publicado por: el_c0c0 en 31 Octubre 2009, 06:15 am
la relacion 16:9 o 16:10 o cualquier otra viene dada por una formula muy sencilla:

Width / Height = en fraccion


si por ejemplo tenes 1680x1050, seria, 1680/1050, simplificando por 210: 8/5, ahora, esta relacion es 16:10 ya que 8/5 = 16/10.


el valor exacto lo sacas vos aproximandote a cual seria el conveniente. primero obtener que relacion existe inicialmente y luego anda seteando el valor del form o lo que sea proporcionalemente al tamaño que vos queres y el tamaño que debe ser segun la relacion original del video

saludos.