none
Obtener información de un video RRS feed

  • Pregunta

  • Hola, en una aplicación WPF > VB.NET necesito reproducir videos y extraer algo de información. Lo estoy haciendo de la siguiente manera:

    El reproductor es un MediaElement:

    <MediaElement x:Name="ME_VisorVideo" Margin="2" LoadedBehavior="Manual" ScrubbingEnabled="True" Grid.Row="0" />

    y este el código behind:

    Private Sub Info_Video(videoName As String) Try Dim objShell As Object Dim objFolder As Object objShell = CreateObject("Shell.Application") objFolder = objShell.Namespace("C:\Media\Videos") If (objFolder IsNot Nothing) Then Dim objFolderItem As Shell32.FolderItem objFolderItem = objFolder.ParseName(videoName) If (objFolderItem IsNot Nothing) Then 'Ruta If objFolder.GetDetailsOf(objFolderItem, 180).ToString = "" Then LB_VideoInfo_Ruta.Content = "---" Else LB_VideoInfo_Ruta.Content = objFolder.GetDetailsOf(objFolderItem, 180) End If 'Duracion If objFolder.GetDetailsOf(objFolderItem, 27).ToString = "" Then LB_VideoInfo_Duracion.Content = "---" Else LB_VideoInfo_Duracion.Content = objFolder.GetDetailsOf(objFolderItem, 27) End If 'Peso If objFolder.GetDetailsOf(objFolderItem, 1).ToString = "" Then LB_VideoInfo_Peso.Content = "---" Else LB_VideoInfo_Peso.Content = objFolder.GetDetailsOf(objFolderItem, 1) End If 'Resolucion If objFolder.GetDetailsOf(objFolderItem, 285).ToString = "" Then LB_VideoInfo_Resolucion.Content = "---" Else LB_VideoInfo_Resolucion.Content = objFolder.GetDetailsOf(objFolderItem, 285) & "x" & objFolder.GetDetailsOf(objFolderItem, 283) & " - " & objFolder.GetDetailsOf(objFolderItem, 284) End If

    End If End If Catch ex As Exception MessageBox.Show(ex.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error) End Try End Sub

    Con esto obtengo la info que necesito pero he visto que el indice de los datos no es igual en distintas versiones de windows, por ejemplo, en win10 el 315 corresponde a los fotogramas/segundo pero si ejecuto en win7 este dato está en el 284. Para ver todos los datos y su índice ejecuté el siguiente código:

    For i = -1 To 500
      TextBox1.Text += i & ": " & objFolder.GetDetailsOf(objFolderItem, i) & vbCrLf
    Next

    Esto me lleva a pensar que quizás no sea la mejor forma de obtener la info del video.

    ¿ Saben alguna forma sin muchas complicaciones mejor que esta ?

    Gracias.


    domingo, 7 de febrero de 2021 2:44

Respuestas

  • Hola Gabriel,

    ¿Alguna novedad sobre la consulta realizada?

    Gracias por usar los foros de MSDN.

    Eric Ruiz

    ____________________________

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.

    Si tiene algún cumplido o reclamo sobre el soporte de MSDN siéntase en la libertad de contactar MSDNFSF@microsoft.com.

    • Marcado como respuesta Gabriel Marmol lunes, 8 de febrero de 2021 16:25
    lunes, 8 de febrero de 2021 14:53
    Moderador

Todas las respuestas

  • Hola Gabriel,

    ¿Alguna novedad sobre la consulta realizada?

    Gracias por usar los foros de MSDN.

    Eric Ruiz

    ____________________________

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.

    Si tiene algún cumplido o reclamo sobre el soporte de MSDN siéntase en la libertad de contactar MSDNFSF@microsoft.com.

    • Marcado como respuesta Gabriel Marmol lunes, 8 de febrero de 2021 16:25
    lunes, 8 de febrero de 2021 14:53
    Moderador
  • Pues parece que no hay ninguna sugerencia, lo dejaré asi.
    lunes, 8 de febrero de 2021 16:25