C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[54607] SampleGrabber 선언을 어떻게 해야 할지..+추가 질문
김재범 [] 1973 읽음    2008-09-19 15:06
영상 플레이어를 만드는데. 몇가지 고치고 싶은것과 추가 하고 싶은것이 있긴 하지만 다 만들었어요. 와~~

거기에 비디오 영상을 캡쳐 해서 저장하는 것. 책에 보면서 코드를 보면서 해봐도 링크에러에 문제가 많네요..

아래가 주요 문장인데  소스에서 샘플그래버 생성하는것을 어떻게 하는지..아래는 제가 짜본 소스인데 링크에러..ㅡㅜ

그리고 수정하고 싶은것은. 이미지에 마우스를 오버 하면 그림이 변하게 하고 싶은데 오버 이벤트를 어떻게 처리 해야 할지 모르겠네요.  그리고 소스에 보면

if(OpenDialog1->Execute());

라고 있는데. 찾다가 장성호님의 글을 보고 해봤는데도 잘 안되네요.
하고 싶은건  오픈다이얼로그를 열어서 취소면 그냥 넘어가고 확인이면 영상을 불러와서 초기화및 처리하는 것.
아래 문장이 취소를 해도 실행되고.  그래서

String File = OpenDialog1->FileName; // 취소시 NULL 반환

아래에 (File != NULL) 문장을 추가 했는데도 그 아래가 계속 진행이 되는게 좀 이상하네요..

// 헤더
...
    WCHAR FileName[MAX_PATH];
    IGraphBuilder *m_pGB;
    IVideoWindow *m_pVW;
    IMediaControl *m_pMC;
    IMediaSeeking *m_pMS;
    IMediaPosition *m_pMP;
    IBaseFilter *m_pSG;
    IBasicAudio *m_pBA;
...
// 소스
//오픈 메소드
...
if(OpenDialog1->Execute());
    {
        String File = OpenDialog1->FileName;
        MultiByteToWideChar(CP_ACP, 0, File.c_str(), -1, FileName, MAX_PATH);
        CoCreateInstance(CLSID_FilterGraph, NULL,
                CLSCTX_INPROC_SERVER, IID_IGraphBuilder, (void**)&m_pGB);

        CoCreateInstance(CLSID_SampleGrabber, NULL,
                CLSCTX_INPROC_SERVER, IID_IBaseFilter, (void**)&m_pSG);

        m_pGB->QueryInterface(IID_ISampleGrabber, (void**)&m_pSG);
        m_pGB->AddFilter(m_pSG, L"SampleGrabber");

        m_pGB->RenderFile(FileName, NULL);
        Caption = FileName;

        m_pGB->QueryInterface(IID_IVideoWindow, (void**)&m_pVW);
        m_pGB->QueryInterface(IID_IMediaControl, (void**)&m_pMC);
        m_pGB->QueryInterface(IID_IMediaSeeking, (void**)&m_pMS);
        m_pGB->QueryInterface(IID_IMediaPosition, (void**)&m_pMP);
        m_pGB->QueryInterface(IID_IBasicAudio, (void**)&m_pBA);
...

+ -

관련 글 리스트
54607 SampleGrabber 선언을 어떻게 해야 할지..+추가 질문 김재범 1973 2008/09/19
54608     Re:SampleGrabber 선언을 어떻게 해야 할지..+추가 질문 김재범 1672 2008/09/19
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.