C # Obter a duração do arquivo de vídeo dos metadados

Eu estou tentando ler metadados de um arquivo. Eu só preciso da propriedade Video -> Length, no entanto, não consigo encontrar uma maneira simples de ler essas informações.

Eu imaginei que isso seria bastante fácil, pois é visível por padrão no Explorer, no entanto, isso parece ser muito mais complicado do que eu esperava. O mais próximo que eu vim estava usando:

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

No entanto, isso gera uma exceção LoaderLock e não sei como lidar com isso.

Alguma ideia?

questionAnswers(10)

yourAnswerToTheQuestion