CDINFO 특성 샘플: CD 오디오 트랙 재생 및 관련 정보 표시
업데이트: 2007년 11월
CDINFO 특성 샘플에서는 MCI(Media Control Interface) API를 사용하여 현재 CD-ROM 드라이브에 있는 CD의 오디오 트랙 길이를 검색합니다. 그런 다음에는 원형 차트에 트랙 길이를 표시합니다. CDINFO에서는 ToolTip 공용 컨트롤을 사용하여 도구 설명을 구현하는 방법도 보여 줍니다. 이 도구 설명에서는 원형 차트에서 마우스 커서가 있는 부분에 해당하는 오디오 트랙 길이를 표시합니다.
참고: |
---|
이 샘플을 비롯한 일부 샘플은 Visual C++ 마법사, 라이브러리 및 컴파일러의 변경 내용을 반영하도록 수정되지 않았지만 해당 작업의 수행 방법을 보여 줍니다. |
보안 정보: |
---|
이 샘플 코드는 개념을 보여 주기 위해 제공되며 가장 안전한 코드 작성 방법을 제시하지 않을 수 있으므로 응용 프로그램이나 웹 사이트에서 사용할 수 없습니다. Microsoft는 샘플 코드를 원래 용도 이외의 다른 용도로 사용하는 경우 발생하는 부수적이나 파생적인 손해에 대해 책임을 지지 않습니다. |
샘플 및 이를 설치하기 위한 지침을 가져오려면
Visual Studio의 도움말 메뉴에서 샘플을 클릭합니다.
자세한 내용은 샘플 파일 찾기를 참조하십시오.
최신 버전 및 전체 샘플 목록은 Visual Studio 2008 Samples 페이지에서 온라인으로 사용할 수 있습니다.
컴퓨터의 하드 디스크에서도 샘플을 찾을 수 있습니다. 기본적으로 샘플과 추가 정보 파일은 \Program Files\Visual Studio 9.0\Samples\ 아래의 폴더에 복사됩니다. Visual Studio Express Edition의 경우에는 모든 샘플이 온라인에 있습니다.
샘플 빌드 및 실행
이 샘플을 빌드하고 실행하려면
솔루션 파일인 CDInfo.sln을 엽니다.
빌드 메뉴에서 빌드를 클릭합니다.
샘플을 빌드한 후 웹 브라우저에서 CDInfo.htm을 열고 다음 지침에 따릅니다.
속성 및 메서드
이 컨트롤에서는 다음 메서드를 구현합니다.
Read 현재 드라이브에 있는 CD에서 트랙 길이 정보를 읽고 원형 차트 형식으로 정보를 표시합니다.
Redraw 현재 CD에 대한 원형 차트를 다시 그립니다.
Play 지정된 트랙 번호에서 CD 재생을 시작합니다. 이 컨트롤에서는 재생하고 있는 트랙이 맨 위에 표시되도록 원형 차트를 회전하기도 합니다.
사용할 수 있는 속성은 다음과 같습니다.
Tracks CD에 있는 트랙 개수입니다.
Length 지정된 트랙 번호의 길이(초 단위)입니다.
TotalLength CD의 전체 길이(초 단위)입니다.
특성
이 샘플에서는 다음의 특성을 사용합니다.
coclass, default, dispinterface, dual, emitidl, event_source, helpstring, id, implements_category, in, module, object, out, pointer_default, progid, propget, propput, registration_script, retval, threading, uuid, version, vi_progid
키워드
이 샘플에서는 다음의 키워드를 사용합니다.
BEGIN_COM_MAP, BEGIN_CONNECTION_POINT_MAP, BEGIN_MSG_MAP, BEGIN_OBJECT_MAP, BEGIN_PROPERTY_MAP, CComCoClass, CComControl, CComObjectRoot, COM_INTERFACE_ENTRY, COM_INTERFACE_ENTRY_IMPL, CONNECTION_POINT_ENTRY, CProxyCDEvents, CreateBrushIndirect, CreateRectRgn, DECLARE_REGISTRY_RESOURCEID, DeleteDC, DeleteObject, DrawCD, Ellipse, END_COM_MAP, END_CONNECTION_POINT_MAP, END_MSG_MAP, END_OBJECT_MAP, END_PROPERTY_MAP, IConnectionPointContainerImpl, IConnectionPointImpl, IDataObjectImpl, IDispatchImpl, IOleControlImpl, IOleInPlaceActiveObjectImpl, IOleInPlaceObjectWindowlessImpl, IOleLinkImpl, IOleObjectImpl, IPerPropertyBrowsingImpl, IPersistStorageImpl, IPersistStreamInitImpl, IPropertyNotifySinkCP, IProvideClassInfo2Impl, IQuickActivateImpl, IRunnableObjectImpl, IViewObjectExImpl, LineTo, mciSendCommand, MESSAGE_HANDLER, MoveToEx, OBJECT_ENTRY, ReduceRect, RelayEvent, SelectClipRgn, SelectObject, VariantInit, ZeroMemory