C # Obtener la duración del archivo de vídeo a partir de metadatos

Estoy tratando de leer los metadatos de un archivo. Solo necesito la propiedad Video -> Length, pero no puedo encontrar una forma sencilla de leer esta información.

Pensé que esto sería bastante fácil ya que es visible de forma predeterminada en el Explorador, sin embargo, parece ser mucho más complicado de lo que esperaba. Lo más cerca que vine fue usando:

Microsoft.DirectX.AudioVideoPlayback.Video video = new Microsoft.DirectX.AudioVideoPlayback.Video(str);
double duration = video.Duration;

Sin embargo, esto genera una excepción LoaderLock, y no sé cómo lidiar con ella.

¿Algunas ideas?

Respuestas a la pregunta(10)

Su respuesta a la pregunta