현재 라이브 비디오 채팅 기능이 포함 된 Metro 앱 프레임 워크로 앱을 디자인하고 있습니다. MediaCapture 샘플에 포함 된 GrayscaleTransform MFT를 사용하고 있습니다 (이 시점에서 샘플에서 복사하여 붙여 넣기 만 함).메트로 스타일 앱 MFT "클래스가 등록되지 않았습니다"오류
그러나 그레이 스케일 효과를 카메라의 이미지 스트림에 추가하려고하면 "클래스가 등록되지 않았습니다"치명적인 오류가 발생합니다. 내가 미디어 확장을 '활성화하고 등록'해야하기 때문에 이것이 무엇인지는 모르겠지만 어떻게해야할지 모르겠다. 미디어 확장은 어떻게 등록합니까?
모든 도움을 주시면 감사하겠습니다. 항상 답변을드립니다.
UPDATE : 내 그레이 스케일 IDL 파일은 다음과 같습니다
import "Windows.Media.idl";
#include <sdkddkver.h>
namespace GrayscaleTransform
{
[version(NTDDI_WIN8), activatable(NTDDI_WIN8)]
runtimeclass GrayscaleEffect
{
[default] interface Windows.Media.IMediaExtension;
}
}
일반적으로 확장 기능을 손으로 편집하지 않아도됩니다. 프로젝트 또는 확장 SDK에 대한 참조가있는 경우 빌드는 참조 된 프로젝트 또는 확장 SDK에서 활성화 가능한 각 클래스에 대한 확장 요소를 자동으로 추가합니다.여기서 문제는 MediaExtensions 클래스가 IDL의 [activatable]에 주석을 달지 않았으므로 해당 WinMD의 ActivatableAttribute에 기인하지 않는 것입니다. 이것은 약간 특이하다. –
이 솔루션이 작동하는 동안 작동 시키려면 manifest 파일을 직접 편집해야합니다. 나는 그때까지 더 나은 해결책을 찾지 못했다면 내일이 대답을 받아 들일 것입니다. – danielmhanover
동일한 작업을 수행하려고하지만 추가 DLL (GrayscaleTransform.dll)을 갖고 싶지 않습니다. 그래서, 그 dll 프로젝트에서 내 dll에 모든 파일을 복사하지만, 그것은 작동하지 않습니다. 내가해야 할 일이 있니? – Pavel