ATLMovie 특성 샘플: ATL 컨트롤에서 컴파일러 COM 지원 및 Active Movie 인터페이스 사용

업데이트: 2007년 11월

ATLMovie 특성 샘플은 컴파일러 COM 지원 및 Active Movie 인터페이스를 사용하여 동영상을 재생하는 방법을 보여 주는 ATL 컨트롤입니다. 이 샘플에서는 IMovieCtl 인터페이스에 몇 가지 COM 속성 및 메서드를 구현합니다.

보안 정보:

이 샘플 코드는 개념을 보여 주기 위해 제공되며 가장 안전한 코드 작성 방법을 제시하지 않을 수 있으므로 응용 프로그램이나 웹 사이트에서 사용할 수 없습니다. Microsoft는 샘플 코드를 원래 용도 이외의 다른 용도로 사용하는 경우 발생하는 부수적이나 파생적인 손해에 대해 책임을 지지 않습니다.

샘플 및 이를 설치하기 위한 지침을 가져오려면

  • Visual Studio의 도움말 메뉴에서 샘플을 클릭합니다.

    자세한 내용은 샘플 파일 찾기를 참조하십시오.

  • 최신 버전 및 전체 샘플 목록은 Visual Studio 2008 Samples 페이지에서 온라인으로 사용할 수 있습니다.

  • 컴퓨터의 하드 디스크에서도 샘플을 찾을 수 있습니다. 기본적으로 샘플과 추가 정보 파일은 \Program Files\Visual Studio 9.0\Samples\ 아래의 폴더에 복사됩니다. Visual Studio Express Edition의 경우에는 모든 샘플이 온라인에 있습니다.

샘플 빌드 및 실행

이 샘플을 빌드하고 실행하려면

  1. 솔루션 파일인 ATLMovie.sln을 엽니다.

  2. 빌드 메뉴에서 빌드를 클릭합니다.

  3. 샘플을 빌드한 후 웹 브라우저에서 MovieCtl.htm을 엽니다. 이렇게 하면 Windows와 함께 제공되는 clock.avi 파일이 재생됩니다.

    MovieCtl.htm을 편집하여 다음 줄을 업데이트해야 할 수도 있습니다.

    MovieCtl.FileName = "C:\Winnt\Clock.AVI"

    즉, 위 줄을 사용자 시스템의 Clock.AVI 파일 위치를 가리키도록 업데이트해야 합니다.

속성 및 메서드

속성

이름

설명

FileName

재생할 동영상의 파일 이름입니다.

메서드

이름

설명

Pause

현재 재생하고 있는 동영상을 일시 중지합니다.

Play

FileName 속성으로 지정된 동영상을 재생합니다.

다시 설정

재생 위치를 동영상의 처음으로 다시 설정합니다.

Stop

동영상을 중지합니다.

특성

이 샘플에서는 다음의 특성을 사용합니다.

coclass, dual, emitidl, helpstring, id, in, module, object, oleautomation, pointer_default, progid, propput, registration_script, threading, uuid

키워드

이 샘플에서는 다음의 키워드를 사용합니다.

BEGIN_COM_MAP, BEGIN_MSG_MAP, BEGIN_OBJECT_MAP, BEGIN_PROPERTY_MAP, CComCoClass, CComControl, CComModule::GetClassObject, CComModule::GetLockCount, CComModule::Init, CComModule::RegisterServer, CComModule::Term, CComModule::UnregisterServer, CComObjectRootEx, COM_INTERFACE_ENTRY, COM_INTERFACE_ENTRY_IMPL, COM_INTERFACE_ENTRY_IMPL_IID, CreateBrushIndirect, CreateFilterGraph, CWindow::GetDC, DECLARE_REGISTRY_RESOURCEID, DeleteObject, DisableThreadLibraryCalls, END_COM_MAP, END_MSG_MAP, END_OBJECT_MAP, END_PROPERTY_MAP, FillRect, GetProperty, IDispatchImpl, IMediaControlPtr::Pause, IMediaControlPtr::Release, IMediaControlPtr::RenderFile, IMediaControlPtr::Run, IMediaControlPtr::Stop, IMediaPositionPtr::CurrentPosition, IMediaPositionPtr::Duration, IObjectSafetyImpl, IOleControlImpl, IOleInPlaceActiveObjectImpl, IOleInPlaceObjectWindowlessImpl, IOleInPlaceObjectWindowlessImpl::SetObjectRects, IOleObjectImpl, IPersistStorageImpl, IPersistStreamInitImpl, IProvideClassInfo2Impl, IVideoWindowPtr ::Owner IVideoWindowPtr::.CreateInstance, IVideoWindowPtr::Owner, IVideoWindowPtr::SetWindowPosition, IVideoWindowPtr::Visible, IVideoWindowPtr::WindowStyle, IViewObjectExImpl, MESSAGE_HANDLER, OBJECT_ENTRY, OffsetRect, OleTranslateColor, Reset, SetWindowPosition, SysFreeString

참고:

이 샘플을 비롯한 일부 샘플은 Visual C++ 마법사, 라이브러리 및 컴파일러의 변경 내용을 반영하도록 수정되지 않았지만 해당 작업의 수행 방법을 보여 줍니다.

참고 항목

기타 리소스

ATL 특성 샘플