次の方法で共有


MSVidWebDVD オブジェクトの作成

このトピックは Windows XP Service Pack 1 にのみ適用。

ここでは、DVD 再生のための MSVidWebDVD オブジェクトおよび関連オブジェクトをインスタンス化する方法について説明する。

Windows XP または DirectX SDK のいずれにも DVD アプリケーション作成用の MPEG-2 デコーダは用意されていない。多くの DVD ハードウェア プロバイダがハードウェアまたはソフトウェア デコード オプションを提供しており、また DVD に DVD デコーダが同梱されている場合もある。

ビデオ コントロールの DVD ヘルパー オブジェクトは MSVidWebDVD である。MSVidWebDVD オブジェクトは DVD コントローラとしてのみ使用され (画面上には表示されない)、プログラム的にインスタンス化される。また、MSVidWebDVDAdm という別のオブジェクトもいくつかの DVD タスクで使われ、コード内でインスタンス化される。

Windows フォームまたは HTML ページに DVD コンテンツを表示するためのオブジェクト作成に必要な手順を以下のリストに要約して示す。リストの後に詳細を説明する。

  1. MSVidCtl オブジェクトをフォームに追加する。
  2. クローズド キャプションなどのフィーチャーを MSVidCtl に追加する。
  3. フィルタ グラフを作成する。
  4. MSVidWebDVD および MSVidWebDVDAdm オブジェクトをインスタンス化する。
  5. グラフを実行する。

最初に Visual Basic プロジェクトを作成し、MS ビデオ コントロール 1.0 タイプ ライブラリを参照およびコンポーネントとしてプロジェクトに追加する。システム要件については、「Visual Basic での DVD アプリケーション (ビデオ コントロール)」を参照すること。フォーム上に MSVidCtl オブジェクト (ビデオ コントロールとも呼ばれる) を描画し、"oVideoControl" などの名前を付ける。

クローズド キャプションをサポートする場合は、クローズド キャプション フィーチャーをプログラム的に MSVidCtl に追加できる。次のコードは、クローズド キャプションを追加するサブルーチンを示している。

Private g_msCC as MSVidClosedCaptioning
Sub AddCC()
   Dim oFeature As IMSVidFeature
   Dim oFeatureColl As New MSVidFeatures
      'クローズド キャプションの GUID
   Const CLSID_CC = "{7F9CB14D-48E4-43B6-9346-1AEBC39C64D3}"

   For Each oFeature In oVideoControl.FeaturesAvailable
       If oFeature.ClassID = CLSID_CC Then
           oVideoControl.FeaturesActive.Add oFeature
           oFeatureColl.Add oFeature
           Set g_msCC = oFeature
       End If
   Next oFeature
End Sub
' クローズド キャプションを有効または無効にするには
' g_msCC.Enable = True または False に設定する。 再生実行中に行える。

最後に、フィルタ グラフを作成し、MSVidWebDVD および MSVidWebAdm オブジェクトを作成する。これらのオブジェクトは、ほとんどの DVD 機能の制御に使われる。MSVidWebDVD オブジェクトを作成するには、MSVidCtl オブジェクトの入力タイプを繰り返し処理して DVD プレーヤを検索する方法と、MSVidCtl オブジェクトに対して DVD プレーヤを入力デバイスとして指定した View コマンドを直接呼び出す方法がある。この 2 番目の方法は処理が短く、繰り返しが自動化されて、DVD プレーヤへのアクセスが非常に簡単になる。

次のコードは、MSVidWebDVD オブジェクトと MSVidWebAdm オブジェクトを簡単に作成する方法を示している。ViewBuild、および Run コマンドによってグラフ作成を自動化する。ここで呼び出す AddCC サブルーチンは、前の例に示したものである。

Option Explicit
' DVD オブジェクトと Adm オブジェクトを作成する。 オブジェクト固有のイベントに
' アクセスするために、DVD は WithEvents を使用して作成すること。
Dim WithEvents oVidWebDVD As MSVidWebDVD
Dim oVidWebAdm As MSVidWebDVDAdm

' グラフを作成して再生の準備をする。 再生は開始しない。
Sub BuildGraph()
      ' 最初に DVD ナビゲータ フィルタを挿入する。
   oVideoControl.View ("DVD:")

      ' 次にクローズド キャプション フィーチャーを有効にする。 
      ' Build または Run メソッドの前に、すべてのフィーチャーを追加する必要がある。
   Call AddCC

      ' 次にグラフを作成する。
   oVideoControl.Build

      ' 最後に、コントロール オブジェクトをインスタンス化する。
   Set oVidWebDVD = oVideoControl.InputActive
   Set oVidWebAdm = oVidWebDVD.DVDAdm
 End Sub

' Play ボタンから再生を開始する。
Sub cmdRun_Click()
   oVideoControl.Run
End Sub

参照