[contact-form-7 404 "Not Found"]

Fique informado sobre as principais tendências em energias renováveis. Deixe seu e-mail e receba nossos conteúdos.

Sem categoria

mfc directshow 예제

자동 그래프 생성: 모든 방법 중에서 가장 쉬운 방법이지만 응용 프로그램에서 필터를 선택할 때 유연성을 크게 주지는 않습니다. 여기서는 IGraphBuilder 인터페이스에서 RenderFile 메서드를 호출하여 파일 이름 또는 다른 소스를 전달합니다. 그래프 관리자는 모든 고통을 겪고 적절한 그래프를 만듭니다. 그래프 빌더에는 다양한 필터를 선택한 다음 핀을 연결하여 그래프를 완료하는 자체 알고리즘이 있습니다. 예를 들어 파일 이름 “love.mp3″를 전달하면 그래프 빌더는 파일 형식을 식별한 다음 적절한 필터를 선택하여 MP3 미디어에 적합한 그래프를 작성합니다. 위의 예에서 왼쪽에서 오른쪽으로 그래프에는 MP3 파일을 읽는 소스 필터, 오디오를 구문 분석 및 디코딩하는 스트림 스플리터 및 디코더 필터, 원시 오디오 샘플을 재생하는 렌더링 필터가 포함되어 있습니다. 각 필터에는 해당 필터를 다른 필터에 연결하는 데 사용할 수 있는 하나 이상의 핀이 있습니다. 모든 핀은 한 필터에서 다른 필터로 데이터가 흐르기 위한 출력 또는 입력 소스로 작동합니다. 필터에 따라 데이터는 입력 핀에서 “당겨” 또는 필터 간에 데이터를 전송하기 위해 출력 핀으로 “푸시”됩니다.

각 핀은 다른 핀에만 연결할 수 있으며 전송하는 데이터의 종류에 동의해야 합니다. [인용 필요] 미디어에서 검색 작업을 수행하려면 IMediaSeeking 인터페이스의 SetPositions 기능을 사용합니다. 예를 들어, 미디어 재생이 끝나면 미디어를 시작(0) 위치로 찾기로 결정했습니다. IMediaEventEx 인터페이스를 사용 하 여 미디어가 완료 된 시기에 대해 알게 되 고 모든 COM 인터페이스는 모든 중요 한 QueryInterface 메서드를 포함 하는 IUnknown 인터페이스를 구현 하는 시작 에 대 한 검색 합니다. 클래스가 구현했을 수 있는 다른 인터페이스에 대한 포인터를 얻기 위해 인터페이스에서 QueryInterface 메서드를 호출합니다. 예를 들어 (이전 코드 스니펫에서 계속) : 그래서, 나는 그것을 다른 방법으로 시도하기로 결정했습니다, 즉, 진행률 표시 줄의 범위를 0에서 100 (100)로 설정한 다음이 척도를 통해 경과 된 시간을 정규화합니다. 예를 들어 미디어길이가 300초이고 30초가 경과한 경우 미디어의 100%(30/300)가 재생이 완료되어 10%입니다. 간단히 말해서 진행률 표시줄을 값 10으로 설정합니다. 구현 부분은 약간 고통스럽지만 이것은 나를 위해 원활하게 작동했습니다. 하지만 이봐, 무엇이든 🙂 작동합니다.

개발자 중심 프레임워크 및 API인 DirectShow는 인코딩 콘텐츠에 대한 최종 사용자 제어를 직접 제공하지 않으며 설치된 코덱을 사용하거나 다른 형식으로 인코딩하기 위한 사용자 인터페이스를 통합하지도 않습니다. 대신 개발자가 API를 사용하여 소프트웨어를 개발하는 데 의존합니다. 반면, Windows용 QuickTime 또는 Video와 같은 다른 멀티미디어 프레임워크를 사용하면 최종 사용자가 다른 코덱을 사용하여 다시 인코딩하고 파일 및 스트림을 편집하는 것과 같은 기본적인 비디오 관련 작업을 수행할 수 있습니다. [인용 필요] 최종 사용자 GUI가 제공하는 편리함은 Windows용 비디오에서 사용하는 AVI 형식과 코덱이 여전히 사용 중(예: VirtualDub)이므로 분명합니다. 그러나 DirectShow의 표준 형식 레퍼토리는 다양한 필터를 통해 쉽게 확장할 수 있습니다. 이러한 필터를 사용하면 DirectShow를 사용하여 거의 모든 컨테이너 형식과 오디오 또는 비디오 코덱을 지원할 수 있습니다. [인용 필요] 예를 들어, Ogg Vorbis, 뮤즈팩 및 AC3용 필터가 개발되었습니다. [25] [26] [27] 마지막으로 VLC와 같은 기본 멀티미디어 API의 기능을 노출하여 여러 형식을 동시에 지원하는 “브리지” 필터와 스트림 멀티플렉싱과 같은 기능이 있습니다. [28] DirectX는 라이브러리의 거대한 컬렉션이며, 다이렉트 사운드, 다이렉트 3D, 다이렉트 애니메이션, 다이렉트 드로우, 다이렉트 쇼 등과 같은 구성 요소를 포함한다.

각 구성 요소는 멀티미디어와 관련된 자체 필드를 전문으로 합니다.