2014-11-10 11 views
0

Windows Phone 8.1 (런타임, 실버 라이트 없음)에서 YUV 형식의 원시 프레임을 가져올 수있는 유일한 방법이기 때문에 맞춤형 MFT를 만들어야합니다.Windows phone 앱에서 사용자 정의 MFT

쉽게 알 수는 없지만 다른 선택의 여지가 없음을 알고 있습니다. https://code.msdn.microsoft.com/windowsapps/Media-Capture-Sample-adf87622

을하지만 난 정말 작동합니까 방법을 이해하지 않습니다

나는 GrayscaleTransform의 예를 들어 배우려고 노력하고있다. 응용 프로그램에서 C++ 그레이 스케일에 대한 참조가 내가 볼 수있는 유일한 방법은 다음과 같습니다

_mediaCaptureMgr.AddEffectAsync (Windows.Media.Capture.MediaStreamType.Photo, "GrayscaleTransform.GrayscaleEffect", NULL);

만들어진 그레이 스케일의 인스턴스가 없거나 모든 메서드에 호출 된 인스턴스가 없습니다. 그래서, 어떻게 작동합니까 궁금해?

감사합니다,

세바스티안

답변

2

MediaCapture 샘플이 Pakage.appxmanifest에 GrayscaleTransform.GrayscaleEffect를 등록, 줄 35 :

<Extension Category="windows.activatableClass.inProcessServer"> 
    <InProcessServer> 
    <Path>GrayscaleTransform.dll</Path> 
    <ActivatableClass ActivatableClassId="GrayscaleTransform.GrayscaleEffect" ThreadingModel="both" /> 
    </InProcessServer> 
</Extension> 

이것은 MediaCapture 개체가 추가 된 효과를 찾아서 추가 할 수 있습니다 미디어 파이프 라인에.

앱은 MediaExtensionManager class으로 MFT를 등록 할 수도 있습니다.

+0

그러나 그레이 스케일은 어디에서 인스턴스화됩니까? 생성자, 소멸자, 수십 가지 메소드를 볼 수 있지만 주된 글꼴이 보이지 않습니까? –

+0

AddEffectAsync에 대한 호출을 기반으로 MediaCapture 요소 내부에서 인스턴스화됩니다. 그런 다음 미디어 파이프 라인에 추가되어 디코더와 렌더러 사이에서 호출됩니다. –

+0

그레이 스케일 클래스의 메소드를 호출하는 사람은 누구입니까? –

0

그레이 스케일 cpp 파일은 어디에서 찾을 수 있습니까? 솔루션 익스플로러에서 MediaExtensions/MFExtensions/GrayscaleTransform/GrayscaleTransform.Shared/

아래에서 찾을 수 있습니다. Grayscale.cpp와 그 모든 기능을 볼 수 있습니다. 희망적으로 그것들을 보는 것이 도움이 될 것입니다.