CDINFO 属性サンプル:再生と CD オーディオ トラックの情報を表示
CDINFO 属性サンプルは、メディア コントロール インターフェイス (MCI: Media Control Interface) API を使用して、現在 CD-ROM ドライブに挿入されている CD のオーディオ トラックの長さを取得します。 また、トラック長を円グラフに表示します。 さらに、CDINFO は ToolTip コモン コントロールを使用してツール ヒントを実装する方法も示します。 このツール ヒントは、円グラフのカーソル位置に対応するオーディオ トラック長を表示します。
注意
このサンプルの Visual C++ ウィザード、ライブラリ、およびコンパイラ、一部の機能が完全に実演可能性がありますが、まだ、目的のタスクを完了する方法を示しています。
セキュリティに関するメモ |
---|
このサンプル コードは概念を示すためのものであり、その概念に関連するコードのみを示しています。特定の環境について必ずしもセキュリティ要件を満たしていませんので、そのまま使用しないでください。セキュリティおよびエラー処理コードを追加して、プロジェクトをより安全かつ堅牢にすることをお勧めします。これらのサンプル コードは、現状有姿のままで提供されるものであり、一切保証されていません。 |
サンプルとそのインストール手順を取得するには
Visual Studio のサンプルにアクセスするには
[ヘルプ] メニューの [サンプル] をクリックします。
既定では、これらのサンプルは drive:\Program Files\Microsoft Visual Studio 10.0\Samples\ にインストールされています。
サンプルのビルドと実行
このサンプルをビルドして実行するには
ソリューション ファイル CDInfo.sln を開きます。
[ビルド] メニューの [ビルド] をクリックします。
サンプルのビルド後に、Web ブラウザーで CDInfo.htm を開き、画面に表示される指示に従います。
プロパティおよびメソッド
このコントロールは以下のメソッドを実装します。
Read 現在のドライブで CD からトラックの長さの情報を読み取るし、piechart の形式で情報を表示します。
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
Keywords
このサンプルでは、次のキーワードを使用します。
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