buenas,
estoy viendo como puedo hacer un archivo de texto con comentarios sobre un video determinado.
voy a usar como llave o titulo la posición actual del video en segundos.
pero la cuestión es como obtener el tiempo actual que se visualiza en el mediaview
ejemplo : 00:02:45/00:10:34
como puedo obtener los: 00:02:45 ???
alguien sabe como obtener estos datos?
en sdl2 Music.pos te da la posición en segundos o milisegundos, no recuerdo.
Tal vez mediaview tenga algo similar.
Saludos.
(25-08-2020, 22:44)tincho escribió: [ -> ]... la posición en segundos o milisegundos...
Tal vez mediaview tenga algo similar.
...tincho, ma allora sei Onnipotente pure tu !
Mi vuoi sfidare ?
Bueno, ...exactamente, todo está come has dicho tincho.
El Objeto
MediaView es un po'...

rígido; de todas formas yo te doy este
exemplum simplex:
Código:
Public Sub Form_Open()
Me.Show
With MediaView1
.URL = Media.URL("/ruta/del/archivo/Audio o Midi o Video")
' Espera a que se inicie la ejecución del archivo cargado:
Repeat
Wait 0.01
Until MediaView1.Position > 0
' Muestra en la parte superior del formulario el tiempo transcurrido desde el inicio de la ejecución del archivo (Audio o Midi o Video):
Repeat
Me.Title = Str(Time(0, 0, 0, .Position * 1000))
Wait 0.01
Until .Position >= .Duration
End With
End
...está claro que en un proyecto real y más complejo es mejor usar un Objeto
Timer en lugar de un bucle.
Hace falta tambien penetrar en la constitución interna del Objeto
MediaView.
Exemplum simplex:
Código:
Private tempus As Timer
Public Sub Form_Open()
Dim ob As Object
Dim obs As Observer
ob = MediaView1.Children[0]
ob = ob.Children[0]
ob = ob.Children[3]
' Usamos la Clase "Observer" para no interferir (sustituyéndo)
' con los eventos originales de los botones de inicio y stop de "MediaView":
obs = New Observer(ob.Children[0], False) As "Inicio"
obs = New Observer(ob.Children[1], False) As "Stop"
MediaView1.URL = Media.URL("/ruta/del/archivo/audio o midi o video")
End
Public Sub Inicio_Click()
With tempus = New Timer As "Tempus"
.Delay = 100
.Start
End With
End
Public Sub Tempus_Timer()
Label1.Text = Str(Time(0, 0, 0, MediaView1.Position * 1000))
End
Public Sub Stop_Click()
Label1.Text = Null
tempus.Stop
End
(26-08-2020, 01:59)vuott escribió: [ -> ] (25-08-2020, 22:44)tincho escribió: [ -> ]... la posición en segundos o milisegundos...
Tal vez mediaview tenga algo similar.
...tincho, ma allora sei Onnipotente pure tu !
Mi vuoi sfidare ?

Non avrò mai il tuo livello, maestro.
Saludos.
gracias vuott, es lo que andaba buscando
Write "\r\e[31m" & Str(Date(0, 0, 0, 0, 0, 0, .Position * 1000))
esa es la linea fundamental
(26-08-2020, 17:49)kokodrilo escribió: [ -> ]Write "\r\e[31m" & Str(Date(0, 0, 0, 0, 0, 0, .Position * 1000))
esa es la linea fundamental
Bueno, recuerda que esta instrucción
\e[31m atribuye el color rojo al texto impreso en la consola.
Pero cambié la línea de comando a esto:
[code]