mp4 파일의 재생 시간을 초 단위로 늘려야합니다. DirectShow (아래 코드 참조)를 사용하고 있었지만, 특히 도움이되지 않는 오류가 발생했습니다. 나는 누군가가 이것에 쉬운 해결책이 있는지 궁금 하네. "HRESULT에서 예외 : 0x80040265은" DirectShow로 MP4 파일 길이 얻기
내가이를 사용하여 시도 : Getting length of video를이 코드를 실행할 때마다public static void getDuration(string moviePath)
{
FilgraphManager m_objFilterGraph = null;
m_objFilterGraph = new FilgraphManager();
m_objFilterGraph.RenderFile(moviePath);
IMediaPosition m_objMediaPosition = null;
m_objMediaPosition = m_objFilterGraph as IMediaPosition;
Console.WriteLine(m_objMediaPosition.Duration);
}
, 내가 오류 (진심으로, 해당 정보를 얻는 것은 매우 어려울 것이라는 점을 알고 자) 하지만 MP4 파일에서 작동한다고 생각하지 않기 때문에 작동하지 않습니다.
심각하게도이 작업을 훨씬 쉽게 수행 할 수있는 방법이 필요합니다.
참고 : ffmpeg와 같은 exe를 사용하지 말고 출력을 분석하여 정보를 얻는 것을 선호합니다.
약간의 탐험을 거친 후 DirectShow에서 정보를 얻을 수없는 것처럼 보입니다. MP4를 지원하지 않기 때문에 마음에 들썩입니다. 어쨌든 어떤 도움을 주시면 감사하겠습니다. – RedHack