Microsoft DirectX 8.0 |
Microsoft® DirectShow® DVD ナビゲータ ソース フィルタは、IDvdControl2 インターフェイスを公開して、カラオケ タイトルを含む DVD-Video タイトルのナビゲーションと再生をアプリケーションが実行できるようにする。DVD プレーヤー アプリケーションは、IDvdGraphBuilder インターフェイスを使って DVD フィルタ グラフを作成した後、IDvdControl2 と IDvdInfo2 のメソッドを使用して DVD ナビゲータに DVD コマンドを送信し、DVD ナビゲータからステート情報を取得する。
IDvdControl2 は、旧バージョンの DVD コントロール インターフェイスである IDvdControl に比べて大幅に改良されている。新しいインターフェイスでは旧インターフェイスを継承せずに、全面的に刷新された実装をカプセル化している。IDvdControl2 は、再生、メニュー ナビゲーション、およびペアレンタル ロックを実行するためのメソッドのほか、DVD Annex J 仕様で規定されているすべての機能を備えている。
DVD フィルタ グラフ、コマンド同期、ペアレンタル ロック、メニュー、およびカラオケ サポートに関するトピックを含む DVD ナビゲータを使った DVD プレーヤー アプリケーションの作成の詳細については、「DVD アプリケーション」を参照すること。
カテゴリ別のメソッド
IUnknown メソッド 説明 QueryInterface サポートされているインターフェイスへのポインタを取得する。 AddRef 参照カウントをインクリメントする。 Release 参照カウントをデクリメントする。 IDvdControl2 メソッド 説明 再生 Pause 現在の位置で再生をポーズまたは再開する。 PlayAtTime 現在のタイトルの指定された時間から再生を開始する。 PlayAtTimeInTitle 指定されたタイトルの指定された時間から再生を開始する。 PlayBackwards 指定された速度で現在の位置から逆方向に再生する。 PlayChapter 現在のタイトルの指定されたチャプターから再生を開始する。 PlayChapterInTitle 指定されたタイトルの指定されたチャプターの先頭から再生を開始する。 PlayChaptersAutoStop 指定されたタイトルの指定されたチャプターから指定された数のチャプターを再生する。 PlayForwards 指定された速度で現在の位置から順方向に再生する。 PlayNextChapter 現在のタイトルの次のチャプターの先頭から再生を開始する。 PlayPeriodInTitleAutoStop 指定されたタイトルを指定された開始タイムから指定された終了タイムまで再生する。 PlayPrevChapter 現在のタイトルの前のチャプターの先頭から再生を開始する。 PlayTitle 指定されたタイトルの先頭から再生を開始する。 ReplayChapter 現在のチャプターの先頭から再生を開始する。 Stop DVD ナビゲータを DVD Stop ドメインに移行させることにより、タイトルまたはメニューの再生を停止する。 メニュー ActivateAtPosition マウス ポインタの下にあるメニュー ボタンをアクティブにする。 ActivateButton 選択されているメニュー ボタンをアクティブにする。 Resume メニューから抜けて再生を再開する。 ReturnFromSubmenu 表示をサブメニューからそのサブメニューの親メニューに戻す。 SelectAtPosition マウス ポインタの下にあるメニュー ボタンを強調表示する。 SelectAndActivateButton 指定されたメニュー ボタンを選択し、アクティブにする。 SelectButton 指定されたメニュー ボタンを選択する。 SelectDefaultMenuLanguage すべてのメニューとメニュー ボタンで使用されるデフォルトの言語を設定する。 SelectRelativeButton 指定された相対ボタン (上、下、右、左) を選択する。 ShowMenu 指定されたメニューがあれば表示する。 ビデオ ストリーム SelectAngle DVD ナビゲータがアングル ブロックにある間、新しいアングルを設定する。 StillOff 再生を再開し、静止モードをキャンセルする。 SelectVideoModePreference 現在以降のビデオ ディスプレイ モードをワイド スクリーン、レターボックス、またはパン-スキャンのいずれかに設定する。 オーディオ ストリーム SelectAudioStream 再生するオーディオ ストリームを選択する。 SelectDefaultAudioLanguage デフォルトのオーディオ言語を設定する。 SelectKaraokeAudioPresentationMode カラオケ補助チャンネルを左スピーカまたは右スピーカに送る。 サブピクチャ ストリーム SelectDefaultSubpictureLanguage サブピクチャ テキストのデフォルトの言語を設定する。 SelectSubpictureStream 表示するサブピクチャ ストリームを設定する。 SetSubpictureState サブピクチャの表示をオン、オフする。 ペアレンタル ロック レベル AcceptParentalLevelChange 現在より高いペアレンタル ロック レベルでコンテンツを再生することを求める DVD ナビゲータからの要求を受諾または拒否する。 SelectParentalCountry ペアレンタル ロック アクセス レベルを解釈し、デフォルトの言語を設定するときの基準となる国を設定する。 SelectParentalLevel ログオンしているユーザーのペアレンタル ロック アクセス レベルを設定する。 DVD ナビゲータ コントロール SetDVDDirectory DVD ナビゲータが読み込む DVD ドライブを設定する。 SetOption DVD ナビゲータの内部動作フラグを有効または無効にする。 SetState 後で取り出せるように、現在のディスク位置と DVD ナビゲータの状態を保存する。 SetGPRM 汎用パラメータ レジスタ値を設定する。
現在より高いペアレンタル ロック レベルでコンテンツを再生することを求める DVD ナビゲータからの要求を受諾または拒否する。
構文
HRESULT AcceptParentalLevelChange( BOOL bAccept );
パラメータ
- bAccept
- [in] アプリケーションがペアレンタル ロック レベルの変更を受け入れるかどうかを示すフラグ。変更を受け入れて、現在より高いレベルのコンテンツを再生するときは TRUE を指定し、変更を拒否するときは FALSE を指定する。
戻り値
成功すれば S_OK を返す。それ以外の場合はエラー コードを返す。
注意
一時ペアレンタル ロック レベル (PML) コマンドは、それ以降のコンテンツの PML がタイトル全体に指定されているレベルより高いことを示す DVD ディスク上のマーカーである。このマーカーには、変更が受諾または拒否された場合の分岐箇所を示す指示も含まれている。FALSE を指定すると、DVD ナビゲータはディスク上の拒否時の分岐に移動する。TRUE を指定すると、DVD ナビゲータは、現在より高いレベルのコンテンツに至る分岐に移動する。
AcceptParentalLevelChange は SetOption メソッドと共に使用する。イベントの順序は以下のとおりである。まず、SetOption(DVD_NotifyParentalLevelChange, TRUE) を呼び出し、DVD ナビゲータに対して、アプリケーションに EC_DVD_PARENTAL_LEVEL_CHANGE イベント通知を送信した後は常に待機するように指示する。次に、変更を受け入れるか、拒否するかを決定するためのコードをイベント ハンドラに実装し、AcceptParentalLevelChange を呼び出してその決定を DVD ナビゲータに通知する。
次の表は、このメソッド名が対応する Annex J コマンド名、およびこのメソッドが有効なドメインを示している。
Annex J コマンド名 有効なドメイン なし すべて
参照
マウス ポインタの下にあるメニュー ボタンをアクティブにする。
構文
HRESULT ActivateAtPosition( POINT point );
パラメータ
- point
- [in] 画面ピクセル座標で表すクライアント ウィンドウ領域上の位置。
戻り値
次のいずれかの値を返す。
S_OK 強調表示されているボタンの矩形領域内でマウスがクリックされ、ボタンがアクティブになっている。 E_INVALIDARG ポインタが有効なビデオ リージョンの外にある。 E_UNEXPECTED ボタンはあるが、動作していない。 VFW_E_DVD_INVALIDDOMAIN DVD ナビゲータがメニュー ドメイン内にない。 VFW_E_DVD_NO_BUTTON マウス ポインタの下にメニュー ボタンがない。 VFW_E_DVD_OPERATION_INHIBITED ユーザー操作 (UOP) コントロールによって操作が禁止されている。
注意
マウス ポインタの座標の基準点はクライアント領域の左上隅であるが、ビデオのフォーマットがレターボックスの場合は、クライアント領域がビデオ ディスプレイ領域と一致しないことがある。
ユーザーがメニュー ボタン上で直接マウス ポインタを動かすことによってメニューのナビゲーションを行っている場合は、このメソッドを使用する。ユーザーが相対ボタンを使ってメニューのナビゲーションを行っている場合は、ActivateAtPosition ではなく、ActivateButton を使用する。
次の表は、このメソッド名が対応する Annex J コマンド名、およびこのメソッドが有効なドメインを示している。
Annex J コマンド名 有効なドメイン なし DVD_DOMAIN_VideoManagerMenu
DVD_DOMAIN_VideoTitleSetMenu
参照
選択されているメニュー ボタンをアクティブにする。
構文
HRESULT ActivateButton(void);
戻り値
次のいずれかの値を返す。
S_OK 成功。 VFW_E_DVD_INVALIDDOMAIN DVD ナビゲータが無効なドメイン内にある。 VFW_E_DVD_OPERATION_INHIBITED UOP コントロールにより、DVD ナビゲータがポーズ状態になることを禁止されている。 VFW_E_DVD_NO_BUTTON どのボタンも選択されていない。
注意
アプリケーションのビデオ ディスプレイ上には、物理的なリモート コントロールのボタンに相当する 4 個の相対ボタンが表示される場合も、表示されない場合もある。相対ボタンを使用すると、ユーザーは、メニュー ボタンをアクティブにせずに、選択するだけにどどめることができる。この場合は、選択されたボタンをアクティブにするための 5 番目のボタンが必要になる。5 番目のボタンがクリックされた場合は、それに応じて ActivateButton を呼び出す。
次の表は、このメソッド名が対応する Annex J コマンド名、およびこのメソッドが有効なドメインを示している。
Annex J コマンド名 有効なドメイン Button_Activate DVD_DOMAIN_VideoManagerMenu
DVD_DOMAIN_VideoTitleSetMenu
DVD_DOMAIN_Title
参照
現在の位置で再生をポーズまたは再開する。
構文
HRESULT Pause( BOOL bState );
パラメータ
- bState
- [in] 再生をポーズするかどうかを示すブール型の値。TRUE を指定するとポーズが実行される。
戻り値
次のいずれかの値を返す。
S_OK 成功。 VFW_E_DVD_INVALIDDOMAIN 無効なドメイン。 VFW_E_DVD_OPERATION_INHIBITED UOP コントロールにより、DVD ナビゲータがポーズ状態になることを禁止されている。
注意
DVD ナビゲータをポーズ状態にすると、IMediaControl2::Pause と同様に、再生とすべての内部タイマが静止する。フィルタ グラフが動作していない場合、このメソッドは何もしない。
このメソッドの使用例については、DVDSample アプリケーションの「CDvdCore::Pause」を参照すること。
次の表は、このメソッド名が対応する Annex J コマンド名、およびこのメソッドが有効なドメインを示している。
Annex J コマンド名 有効なドメイン PauseOn/PauseOff DVD_DOMAIN_VideoManagerMenu
DVD_DOMAIN_VideoTitleSetMenu
DVD_DOMAIN_Title
現在のタイトルの指定された時間から再生を開始する。
構文
HRESULT PlayAtTime( DVD_HMSF_TIMECODE *pTime, DWORD dwFlags, IDvdCmd **ppCmd );
パラメータ
- pTime
- [in] 再生を開始する時間を指定する DVD_HMSF_TIMECODE 構造体へのポインタ。
- dwFlags
- [in] コマンド同期オプションを指定する 1 つ以上の DVD_CMD_FLAGS 値を含むビット フラグ。
- ppCmd
- [out] DVD コマンドの同期に使用できる IDvdCmd オブジェクトへのポインタのアドレス。
戻り値
次のいずれかの値を返す。
S_OK 成功。 E_INVALIDARG 無効な引数。 VFW_E_DVD_OPERATION_INHIBITED UOP コントロールが処理を禁止している。
注意
このメソッドの使用例については、DVDSample アプリケーションの「CDvdCore::PlayTime」を参照すること。
次の表は、このメソッド名が対応する Annex J コマンド名、およびこのメソッドが有効なドメインを示している。
Annex J コマンド名 有効なドメイン Time_Search DVD_DOMAIN_Title
参照
指定されたタイトルの指定された時間から再生を開始する。
構文
HRESULT PlayAtTimeInTitle( ULONG uiTitle, DVD_HMSF_TIMECODE *pTime, DWORD dwFlags, IDvdCmd **ppCmd );
パラメータ
- uiTitle
- [in] 再生するタイトルの番号を指定する値。この値は 1 から 99 の間でなければならない。
- pTime
- [in] 再生を開始する位置を指定する DVD_HMSF_TIMECODE 構造体へのポインタ。
- dwFlags
- [in] コマンド同期オプションを指定する 1 つ以上の DVD_CMD_FLAGS 値を含むビット フラグ。
- ppCmd
- [out] DVD コマンドの同期に使用できる IDvdCmd オブジェクトへのポインタのアドレス。
戻り値
次のいずれかの値を返す。
S_OK 成功。 VFW_E_DVD_OPERATION_INHIBITED UOP コントロールが処理を禁止している。 E_INVALIDARG 無効な引数。
注意
次の表は、このメソッド名が対応する Annex J コマンド名、およびこのメソッドが有効なドメインを示している。
Annex J command name Valid domains Time_Play DVD_DOMAIN_VideoManagerMenu
DVD_DOMAIN_VideoTitleSetMenu
DVD_DOMAIN_Title
DVD_DOMAIN_Stop
参照
指定された速度で現在の位置から逆方向に再生する。
構文
HRESULT PlayBackwards( double dwSpeed, DWORD dwFlags, IDvdCmd **ppCmd );
パラメータ
- dwSpeed
- [in] 逆方向の再生速度を指定する値。この値は、作成されたときの速度を 1.0 とする乗数である。したがって、2.5 を指定すると、作成速度の 2.5 倍の速度で逆方向の再生が行われ、0.5 を指定すると作成速度の半分の速度で逆方向の再生が行われる。実際の再生速度は、ビデオ デコーダの機能によって異なり、指定された速度と異なることがある。逆方向の再生では、オーディオがミュートされ、サブピクチャは表示されない。0.00001 未満の速度はすべて 0.00001 に変換される。
- dwFlags
- [in] コマンド同期オプションを指定する 1 つ以上の DVD_CMD_FLAGS 値を含むビット フラグ。
- ppCmd
- [out] DVD コマンドの同期に使用できる IDvdCmd オブジェクトへのポインタのアドレス。
戻り値
次のいずれかの値を返す。
S_OK 成功。 VFW_E_DVD_OPERATION_INHIBITED UOP コントロールが処理を禁止している。
注意
このメソッドの使用例については、DVDSample アプリケーションの「CDvdCore::Rewind」を参照すること。1 フレームずつコマ送りしながら逆方向に再生するには、サンプル アプリケーションの CDvdCore::FrameStep の使用例のように IVideoFrameStep インターフェイスを使用する。
次の表は、このメソッド名が対応する Annex J コマンド名、およびこのメソッドが有効なドメインを示している。
Annex J コマンド名 有効なドメイン Backward_Scan DVD_DOMAIN_VideoManagerMenu
DVD_DOMAIN_VideoTitleSetMenu
DVD_DOMAIN_Title
現在のタイトルの指定されたチャプターから再生を開始する。
構文
HRESULT PlayChapter( ULONG ulChapter, DWORD dwFlags, IDvdCmd **ppCmd );
パラメータ
- ulChapter
- [in] DVD ナビゲータが再生を開始する現在のタイトルのチャプターを指定する値。この値は 1 から 999 の間でなければならない。
- dwFlags
- [in] コマンド同期オプションを指定する 1 つ以上の DVD_CMD_FLAGS 値を含むビット フラグ。
- ppCmd
- [out] DVD コマンドの同期に使用できる IDvdCmd オブジェクトへのポインタのアドレス。
戻り値
次のいずれかの値を返す。
S_OK 成功。 VFW_E_DVD_OPERATION_INHIBITED UOP コントロールが処理を禁止している。 E_INVALIDARG 無効な引数。
注意
DVD ナビゲータは、指定されたチャプターから再生を開始し、それ以降のチャプターを引き続き再生する。現在のチャプターだけを再生するには、PlayChaptersAutoStop を使用する。
次の表は、このメソッド名が対応する Annex J コマンド名、およびこのメソッドが有効なドメインを示している。
このメソッドの使用例については、DVDSample アプリケーションの「CDvdCore::PlayChapter」を参照すること。
Annex J コマンド名 有効なドメイン PTT_Search DVD_DOMAIN_Title
参照
指定されたタイトルの指定されたチャプターの先頭から再生を開始する。
構文
HRESULT PlayChapterInTitle( ULONG ulTitle, ULONG ulChapter, DWORD dwFlags, IDvdCmd **ppCmd );
パラメータ
- ulTitle
- [in] 目的のチャプターが含まれているタイトルを指定する値。この値は 1 から 99 の間でなければならない。
- ulChapter
- [in] DVD ナビゲータが再生を開始する指定されたタイトルのチャプターを指定する値。この値は 1 から 999 の間でなければならない。
- dwFlags
- [in] コマンド同期オプションを指定する 1 つ以上の DVD_CMD_FLAGS 値を含むビット フラグ。
- ppCmd
- [out] DVD コマンドの同期に使用できる IDvdCmd オブジェクトへのポインタのアドレス。
戻り値
次のいずれかの値を返す。
S_OK 成功。 VFW_E_DVD_OPERATION_INHIBITED UOP コントロールが処理を禁止している。 E_INVALIDARG 無効な引数。
注意
次の表は、このメソッド名が対応する Annex J コマンド名、およびこのメソッドが有効なドメインを示している。
このメソッドの使用例については、DVDSample アプリケーションの「CDvdCore::PlayChapterInTitle」を参照すること。
Annex J コマンド名 有効なドメイン PTT_Play DVD_DOMAIN_VideoManagerMenu
DVD_DOMAIN_VideoTitleSetMenu
DVD_DOMAIN_Title
DVD_DOMAIN_Stop
参照
指定されたタイトルの指定されたチャプターから指定された数のチャプターを再生する。
構文
HRESULT PlayChaptersAutoStop( ULONG ulTitle, ULONG ulChapter, ULONG ulChaptersToPlay, DWORD dwFlags, IDvdCmd **ppCmd );
パラメータ
- ulTitle
- [in] 目的のチャプターが含まれているタイトルを指定する値。この値は 1 から 99 の間でなければならない。
- ulChapter
- [in] DVD ナビゲータが再生を開始する指定されたタイトルのチャプターを指定する値。この値は 1 から 999 の間でなければならない。
- ulChaptersToPlay
- [in] 開始チャプターから再生するチャプターの数。
- dwFlags
- [in] コマンド同期オプションを指定する 1 つ以上の DVD_CMD_FLAGS 値を含むビット フラグ。
- ppCmd
- [out] DVD コマンドの同期に使用できる IDvdCmd オブジェクトへのポインタのアドレス。
戻り値
次のいずれかの値を返す。
S_OK 成功。 E_UNEXPECTED DVD ナビゲータが初期化されていない、またはタイトルが単一シーケンシャル PGC タイトルではない。 E_INVALIDARG ulTitle 値が存在しない、またはタイトルの数を上回る。あるいは、ulChapter が存在しない、またはチャプターの数を上回る。あるいは、ulChapter と ulChaptersToPlay の合計がチャプターの数を上回る。 VFW_E_DVD_GRAPHNOTREADY グラフが動作状態になっていない。
注意
このメソッドは One_Sequential_PGC_Title でのみ機能する。DVD ナビゲータは、指定された数のチャプターを再生した後、アプリケーションに EC_DVD_CHAPTER_AUTOSTOP イベント通知を送る。
次の表は、このメソッド名が対応する Annex J コマンド名、およびこのメソッドが有効なドメインを示している。
Annex J コマンド名 有効なドメイン なし すべて
参照
指定された速度で現在の位置から順方向に再生する。
構文
HRESULT PlayForwards( double dwSpeed, DWORD dwFlags, IDvdCmd **ppCmd );
パラメータ
- dwSpeed
- [in] 再生速度を指定する値。この値は、作成されたときの速度を 1.0 とする乗数である。したがって、2.5 を指定すると、作成速度の 2.5 倍の速度で再生され、0.5 を指定すると作成速度の半分の速度で再生される。実際の再生速度は、ビデオ デコーダの機能によって異なる。
- dwFlags
- [in] コマンド同期オプションを指定する 1 つ以上の DVD_CMD_FLAGS 値を含むビット フラグ。
- ppCmd
- [out] DVD コマンドの同期に使用できる IDvdCmd オブジェクトへのポインタのアドレス。
戻り値
次のいずれかの値を返す。
S_OK 成功。 VFW_E_DVD_OPERATION_INHIBITED UOP コントロールが処理を禁止している。
注意
このメソッドの使用例については、DVDSample アプリケーションの「CDvdCore::FastForward」を参照すること。
次の表は、このメソッド名が対応する Annex J コマンド名、およびこのメソッドが有効なドメインを示している。
Annex J コマンド名 有効なドメイン Forward_Scan DVD_DOMAIN_VideoManagerMenu
DVD_DOMAIN_VideoTitleSetMenu
DVD_DOMAIN_Title
現在のタイトルの次のチャプターの先頭から再生を開始する。
構文
HRESULT PlayNextChapter( DWORD dwFlags, IDvdCmd **ppCmd );
パラメータ
- dwFlags
- [in] コマンド同期オプションを指定する 1 つ以上の DVD_CMD_FLAGS 値を含むビット フラグ。
- ppCmd
- [out] DVD コマンドの同期に使用できる IDvdCmd オブジェクトへのポインタのアドレス。
戻り値
次のいずれかの値を返す。
S_OK 成功。 VFW_E_DVD_OPERATION_INHIBITED UOP コントロールが処理を禁止している。
注意
DVD ナビゲータは、次のチャプターを再生した後、ディスク上の分岐命令に従って再生を継続する。次のチャプターだけを再生するには、PlayChaptersAutoStop を呼び出す。
このメソッドの使用例については、DVDSample アプリケーションの「CDvdCore::NextChapter」を参照すること。
次の表は、このメソッド名が対応する Annex J コマンド名、およびこのメソッドが有効なドメインを示している。
Annex J コマンド名 有効なドメイン NextPG_Search DVD_DOMAIN_VideoManagerMenu
DVD_DOMAIN_VideoTitleSetMenu
DVD_DOMAIN_Title
参照
指定されたタイトルを指定された開始タイムから指定された終了タイムまで再生する。
構文
HRESULT PlayPeriodInTitleAutoStop( ULONG ulTitle DVD_HMSF_TIMECODE *pStartTime DVD_HMSF_TIMECODE *pEndTime DWORD dwFlags IDvdCmd **ppCmd );
パラメータ
- ulTitle
- [in] タイトルを指定する値。この値は 1 から 99 の間でなければならない。
- pStartTime
- [in] 再生を開始する時間を指定する DVD_HMSF_TIMECODE 構造体へのポインタ。
- pEndTime
- [in] 再生を停止する時間を指定する DVD_HMSF_TIMECODE 構造体へのポインタ。
- dwFlags
- [in] コマンド同期オプションを指定する 1 つ以上の DVD_CMD_FLAGS 値を含むビット フラグ。
- ppCmd
- DVD コマンドの同期に使用できる IDvdCmd オブジェクトへのポインタ。
戻り値
次のいずれかの値を返す。
S_OK 成功。 VFW_E_DVD_OPERATION_INHIBITED UOP コントロールが処理を禁止している。 E_INVALIDARG 無効な引数。
注意
実際の開始タイムおよび終了タイムは、DVD_HMSF_TIMECODE によって指定されるフレーム番号またはそれ以前の時間である。pStartTime および pEndTime ではフレーム レート コードは無視される。
次の表は、このメソッド名が対応する Annex J コマンド名、およびこのメソッドが有効なドメインを示している。
Annex J コマンド名 有効なドメイン なし DVD_DOMAIN_VideoManagerMenu
DVD_DOMAIN_VideoTitleSetMenu
DVD_DOMAIN_Title
DVD_DOMAIN_Stop
参照
現在のタイトルの前のチャプターの先頭から再生を開始する。
構文
HRESULT PlayPrevChapter( DWORD dwFlags, IDvdCmd **ppCmd );
パラメータ
- dwFlags
- コマンド同期オプションを指定する 1 つ以上の DVD_CMD_FLAGS 値を含むビット フラグ。
- ppCmd
- DVD コマンドの同期に使用できる IDvdCmd オブジェクトへのポインタ。
戻り値
次のいずれかの値を返す。
S_OK 成功。 VFW_E_DVD_OPERATION_INHIBITED UOP コントロールが処理を禁止している。
注意
次の表は、このメソッド名が対応する Annex J コマンド名、およびこのメソッドが有効なドメインを示している。
このメソッドの使用例については、DVDSample アプリケーションの「CDvdCore::PrevChapter」を参照すること。
Annex J コマンド名 有効なドメイン PrevPG_Search DVD_DOMAIN_VideoManagerMenu
DVD_DOMAIN_VideoTitleSetMenu
DVD_DOMAIN_Title
参照
指定されたタイトルの先頭から再生を開始する。
構文
HRESULT PlayTitle( ULONG uiTitle DWORD dwFlags, IDvdCmd **ppCmd );
パラメータ
- uiTitle
- タイトル番号を指定する値。この値は 1 から 99 の間でなければならない。
- dwFlags
- コマンド同期オプションを指定する 1 つ以上の DVD_CMD_FLAGS 値を含むビット フラグ。
- ppCmd
- DVD コマンドの同期に使用できる IDvdCmd オブジェクトへのポインタ。
戻り値
次のいずれかの値を返す。
S_OK 成功。 VFW_E_DVD_OPERATION_INHIBITED UOP コントロールが処理を禁止している。 E_INVALIDARG 無効な引数。
注意
次の表は、このメソッド名が対応する Annex J コマンド名、およびこのメソッドが有効なドメインを示している。
Annex J コマンド名 有効なドメイン Title_Play DVD_DOMAIN_VideoManagerMenu
DVD_DOMAIN_VideoTitleSetMenu
DVD_DOMAIN_Title
DVD_DOMAIN_Stop
参照
現在のチャプターの先頭から再生を開始する。
構文
HRESULT ReplayChapter( DWORD dwFlags, IDvdCmd **ppCmd );
パラメータ
- dwFlags
- コマンド同期オプションを指定する 1 つ以上の DVD_CMD_FLAGS 値を含むビット フラグ。
- ppCmd
- DVD コマンドの同期に使用できる IDvdCmd オブジェクトへのポインタ。
戻り値
次のいずれかの値を返す。
S_OK 成功。 VFW_E_DVD_OPERATION_INHIBITED UOP コントロールが処理を禁止している。
注意
次の表は、このメソッド名が対応する Annex J コマンド名、およびこのメソッドが有効なドメインを示している。
Annex J コマンド名 有効なドメイン TopPG_Search DVD_DOMAIN_VideoManagerMenu
DVD_DOMAIN_VideoTitleSetMenu
DVD_DOMAIN_Title
参照
メニューから抜けて再生を再開する。
構文
HRESULT Resume( DWORD dwFlags, IDvdCmd **ppCmd );
パラメータ
- dwFlags
- コマンド同期オプションを指定する 1 つ以上の DVD_CMD_FLAGS 値を含むビット フラグ。
- ppCmd
- DVD コマンドの同期に使用できる IDvdCmd オブジェクトへのポインタ。
戻り値
次のいずれかの値を返す。
S_OK 成功。 VFW_E_DVD_OPERATION_INHIBITED UOP コントロールが処理を禁止している。 VFW_E_DVD_NO_RESUME_INFORMATION ビデオ マネージャ メニューから Resume が呼び出された。
注意
このメソッドでは、再生を中断した位置から再生が再開される。
次の表は、このメソッド名が対応する Annex J コマンド名、およびこのメソッドが有効なドメインを示している。
このメソッドの使用例については、DVDSample アプリケーションの「CDvdCore::RootMenu」および「CDvdCore::TitleMenu」を参照すること。
Annex J コマンド名 有効なドメイン Resume DVD_DOMAIN_VideoManagerMenu
DVD_DOMAIN_VideoTitleSetMenu
DVD_DOMAIN_Stop
表示をサブメニューからサブメニューの親メニューに戻す。
構文
HRESULT ReturnFromSubmenu( DWORD dwFlags, IDvdCmd **ppCmd );
パラメータ
- dwFlags
- コマンド同期オプションを指定する 1 つ以上の DVD_CMD_FLAGS 値を含むビット フラグ。
- ppCmd
- DVD コマンドの同期に使用できる IDvdCmd オブジェクトへのポインタ。
戻り値
次のいずれかの値を返す。
S_OK 成功。 VFW_E_DVD_OPERATION_INHIBITED UOP コントロールが処理を禁止している。
注意
DVD ナビゲータが最上位メニューにある場合、このメソッドは Resume メソッドを呼び出し、再生を中断した位置から再生を再開させる。
次の表は、このメソッド名が対応する Annex J コマンド名、およびこのメソッドが有効なドメインを示している。
Annex J コマンド名 有効なドメイン GoUP DVD_DOMAIN_VideoManagerMenu
DVD_DOMAIN_VideoTitleSetMenu
DVD_DOMAIN_Title
参照
指定されたメニュー ボタンを選択し、アクティブにする。
構文
HRESULT SelectAndActivateButton( ULONG ulButton );
パラメータ
- ulButton
- [in] 選択し、アクティブにするボタンを指定する 1 から 36 の間の値。
戻り値
次のいずれかの値を返す。
S_OK 成功。 E_INVALIDARG ulButton が範囲外である。 E_UNEXPECTED ulButton 値は有効であるが、DVD ナビゲータ フィルタがボタンをアクティブにすることができなかった。 VFW_E_DVD_OPERATION_INHIBITED UOP コントロールが処理を禁止している。
注意
次の表は、このメソッド名が対応する Annex J コマンド名、およびこのメソッドが有効なドメインを示している。
Annex J コマンド名 有効なドメイン Button_Select_And_Activate DVD_DOMAIN_VideoManagerMenu
DVD_DOMAIN_VideoTitleSetMenu
DVD_DOMAIN_Title
参照
DVD ナビゲータがアングル ブロックにある間、新しいアングルを設定する。
構文
HRESULT SelectAngle( ULONG ulAngle, DWORD dwFlags, IDvdCmd **ppCmd );
パラメータ
- ulAngle
- [in] 新しいアングルの値。1 から 9 の間でなければならない。
- dwFlags
- [in] コマンド同期オプションを指定する 1 つ以上の DVD_CMD_FLAGS 値を含むビット フラグ。
- ppCmd
- [out] DVD コマンドの同期に使用できる IDvdCmd オブジェクトへのポインタのアドレス。
戻り値
次のいずれかの値を返す。
S_OK 成功。 E_INVALIDARG ulAngle が範囲外である。 VFW_E_DVD_INVALIDDOMAIN DVD ナビゲータが First Play ドメイン内にある。 VFW_E_DVD_OPERATION_INHIBITED UOP コントロールが処理を禁止している。
注意
オーディオ ストリームとサブピクチャ ストリームのインデックスは開始値が 0 であるが、アングルとメニュー ボタンのインデックスは開始値が 1 である点に注意すること。
次の表は、このメソッド名が対応する Annex J コマンド名、およびこのメソッドが有効なドメインを示している。
Annex J コマンド名 有効なドメイン Angle_Change DVD_DOMAIN_VideoManagerMenu
DVD_DOMAIN_VideoTitleSetMenu
DVD_DOMAIN_Title
DVD_DOMAIN_Stop
参照
マウス ポインタの下にあるメニュー ボタンを強調表示する。
構文
HRESULT SelectAtPosition( POINT point );
パラメータ
- point
- [in] 画面ピクセル座標で表す画面上の位置。
戻り値
次のいずれかの値を返す。
S_OK 成功。 VFW_E_DVD_NO_BUTTON マウス ポインタの位置にボタンがない。 VFW_E_DVD_INVALIDDOMAIN DVD ナビゲータが Stop ドメイン内にある。
注意
オーディオ ストリームとサブピクチャ ストリームのインデックスは開始値が 0 であるが、アングルとメニュー ボタンのインデックスは開始値が 1 である点に注意すること。
ポインタがメニュー ボタン上にある場合は、マウスのクリックに応じて ActivateButton を呼び出す。
次の表は、このメソッド名が対応する Annex J コマンド名、およびこのメソッドが有効なドメインを示している。
このメソッドの使用例については、DVDSample の「CDvdCore::OnMouseEvent」を参照すること。
Annex J コマンド名 有効なドメイン なし DVD_DOMAIN_VideoManagerMenu
DVD_DOMAIN_VideoTitleSetMenu
DVD_DOMAIN_Title
DVD_DOMAIN_FirstPlay
参照
再生するオーディオ ストリームを選択する。
構文
HRESULT SelectAudioStream( ULONG ulAudio, DWORD dwFlags, IDvdCmd **ppCmd );
パラメータ
- ulAudio
- [in] 使用するオーディオ トラックを指定する値。0 から 7 の間の整数値でなければならない。デフォルトのストリームを指定するには、DVD_DEFAULT_AUDIO_STREAM を指定する。
- dwFlags
- [in] コマンド同期オプションを指定する 1 つ以上の DVD_CMD_FLAGS 値を含むビット フラグ。
- ppCmd
- [out] DVD コマンドの同期に使用できる IDvdCmd オブジェクトへのポインタのアドレス。
戻り値
次のいずれかの値を返す。
S_OK 成功。 E_INVALIDARG ulAudio が範囲外であるか、オーディオ ストリームに対応していない。 E_UNEXPECTED ulAudio 値は有効であるが、何らかの理由で DVD ナビゲータが値を設定できなかった。 VFW_E_DVD_OPERATION_INHIBITED UOP コントロールが処理を禁止している。 VFW_E_DVD_STREAM_DISABLED 指定されたストリームが無効になっている。
注意
このメソッドは、現在のビデオ タイトル セット (VTS) のオーディオを対象とする。メニュー内からこのメソッドを呼び出した場合は、メニューを呼び出したタイトルのオーディオ ストリームが設定される。
次の表は、このメソッド名が対応する Annex J コマンド名、およびこのメソッドが有効なドメインを示している。
Annex J コマンド名 有効なドメイン Audio_Stream_Change DVD_DOMAIN_VideoManagerMenu
DVD_DOMAIN_VideoTitleSetMenu
DVD_DOMAIN_Title
DVD_DOMAIN_Stop
指定されたメニュー ボタンを選択する。
構文
HRESULT SelectButton( ULONG ulButton );
パラメータ
- ulButton
- [in] 選択するボタンを指定する 1 から 36 の間の値。
戻り値
次のいずれかの値を返す。
S_OK 成功。 VFW_E_DVD_INVALIDDOMAIN DVD ナビゲータが無効なドメイン内にある。 VFW_E_DVD_NO_BUTTON どのボタンも選択されていない。 VFW_E_DVD_OPERATION_INHIBITED UOP コントロールにより、DVD ナビゲータがポーズ状態になることを禁止されている。
注意
次の表は、このメソッド名が対応する Annex J コマンド名、およびこのメソッドが有効なドメインを示している。
Annex J コマンド名 有効なドメイン Button_Select DVD_DOMAIN_VideoManagerMenu
DVD_DOMAIN_VideoTitleSetMenu
DVD_DOMAIN_Title
参照
デフォルトのオーディオ言語を設定する。
構文
HRESULT SelectDefaultAudioLanguage( LCID Language DVD_AUDIO_LANG_EXT audioExtension );
パラメータ
- Language
- [in] デフォルト言語を指定するロケール識別子。
- audioExtension
- [in] デフォルトのオーディオ言語拡張機能を指定する DVD_AUDIO_LANG_EXT 値。
戻り値
次のいずれかの値を返す。
S_OK 成功。 E_INVALIDARG audioExtension 値が無効である。 VFW_E_DVD_INVALIDDOMAIN DVD ナビゲータ フィルタが Stop ドメイン内にある。
注意
このメソッドでは、ディスクを再生するときに使用するデフォルトの言語および言語拡張機能を選択する。たとえば、Language が英語に相当する 0x409 に指定されており、audioExtension が DVD_AUD_EXT_NotSpecified に指定されている場合、DVD ナビゲータは、英語の基本的なオーディオ ストリームを検索する。audioExtension が DVD_AUD_EXT_VisuallyImpaired に指定されている場合、DVD ナビゲータは、まず、視力が弱い人のための英語の特殊なオーディオ ストリームを検索する。デフォルトのストリームがディスク上で見つからない場合、DVD ナビゲータは、要求に最も近いストリームを選択する。
次の表は、このメソッド名が対応する Annex J コマンド名、およびこのメソッドが有効なドメインを示している。
Annex J コマンド名 有効なドメイン なし DVD_DOMAIN_Stop
すべてのメニューとメニュー ボタンで使用されるデフォルトの言語を設定する。
構文
HRESULT SelectDefaultMenuLanguage( LCID Language );
パラメータ
- Language
- デフォルト言語を指定する LCID 型の変数。
戻り値
次のいずれかの値を返す。
S_OK 成功。 E_INVALIDARG 無効な引数。 VFW_E_DVD_INVALIDDOMAIN DVD ナビゲータ フィルタが有効なドメイン内にない。
注意
このメソッドでは、ディスクを再生するときにメニューで使用するデフォルトのテキスト言語を選択する。たとえば、Language がアメリカ英語に相当する 0x409 に指定されている場合、DVD ナビゲータは、メニューにアメリカ英語のテキストを表示しようと試みる。デフォルトのメニュー言語がディスク上で見つからない場合、DVD ナビゲータは要求に最も近い言語を選択する。
次の表は、このメソッド名が対応する Annex J コマンド名、およびこのメソッドが有効なドメインを示している。
Annex J コマンド名 有効なドメイン なし DVD_DOMAIN_Stop
サブピクチャ テキストのデフォルトの言語を設定する。
構文
HRESULT SelectDefaultSubpictureLanguage( LCID Language DVD_SUBPICTURE_LANG_EXT subpictureExtension );
パラメータ
- Language
- [in] デフォルト言語を指定するロケール識別子。
- subpictureExtension
- [in] デフォルトのサブピクチャ拡張機能を指定する DVD_SUBPICTURE_LANG_EXT 値。
戻り値
次のいずれかの値を返す。
S_OK 成功。 E_INVALIDARG Language が無効である。 VFW_E_DVD_INVALIDDOMAIN DVD ナビゲータ フィルタが有効なドメイン内にない。
注意
このメソッドでは、ディスクの再生時にサブピクチャおよびメニューで使用するデフォルトの言語とフォーマットを選択する。たとえば、Language が英語に相当する 0x409 に指定されており、subpictureExtension が DVD_SP_EXT_Caption_Big に指定されている場合、DVD ナビゲータは、サブピクチャのテキストを "ビッグ キャプション" フォーマットのアメリカ英語で表示しようと試みる。デフォルトの言語または言語拡張機能がディスク上で見つからない場合、DVD ナビゲータは要求に最も近いものを選択する。
次の表は、このメソッド名が対応する Annex J コマンド名、およびこのメソッドが有効なドメインを示している。
Annex J コマンド名 有効なドメイン なし DVD_DOMAIN_Stop
カラオケ補助チャンネルを左スピーカまたは右スピーカに送る。
構文
HRESULT SelectKaraokeAudioPresentationMode( ULONG ulMode );
パラメータ
- ulMode
- [in] 5 つのカラオケ チャンネルをチャンネル 0 とチャンネル 1 にミックスダウンする方法を示す DVD_KARAOKE_DOWNMIX フラグのビットごとの OR。通常、チャンネル 0 とチャンネル 1 は左スピーカと右スピーカに出力される。
戻り値
次のいずれかの値を返す。
S_OK 成功。 VFW_E_DVD_INVALIDDOMAIN DVD ナビゲータ フィルタが無効なドメイン内にある。 VFW_E_DVD_OPERATION_INHIBITED UOP コントロールが現在の操作を禁止している。
注意
DVD ナビゲータは、カラオケ モードに移行すると、オーディオ デコーダにカラオケ ダウンミキシングをサポートしているかどうかを問い合わせる。デコーダがカラオケ ダウンミキシングサポートしている場合は、チャンネル 2 からチャンネル 4 まで (ガイド ボーカル、ガイド メロディー、音響効果から構成されるカラオケ補助チャンネル) がミュートされる。このメソッドを使用して、チャンネルを個別にオン、オフし、チャンネル 0 とチャンネル 1 に割り当てる。
このメソッドの使用例については、DVDSample アプリケーションの「CKaraokeDlg::DoModal」を参照すること。
次の表は、このメソッド名が対応する Annex J コマンド名、およびこのメソッドが有効なドメインを示している。
Annex J コマンド名 有効なドメイン Karaoke_Audio_Presentation_Mode_Change DVD_DOMAIN_VideoManagerMenu
DVD_DOMAIN_VideoTitleSetMenu
DVD_DOMAIN_Title
DVD_DOMAIN_Stop
ペアレンタル ロック アクセス レベルを解釈し、デフォルト言語を設定するときの基準となる国を設定する。
構文
HRESULT SelectParentalCountry( BYTE country[2] );
パラメータ
- country
- [in] ISO 3166 に従って現在の国を指定する BYTE 型の値の配列。
戻り値
次のいずれかの値を返す。
S_OK 成功。 E_INVALIDARG 無効な引数。 VFW_E_DVD_INVALIDDOMAIN DVD ナビゲータ フィルタが有効なドメイン内にない。
注意
ペアレンタル カントリは、8 つの基本ペアレンタル ロック レベルの意味およびサウンドトラックとメニューのデフォルト言語を規定する。詳細については、「ペアレンタル ロック レベルの適用」を参照すること。
次の表は、このメソッド名が対応する Annex J コマンド名、およびこのメソッドが有効なドメインを示している。
Annex J コマンド名 有効なドメイン Parental_Country_Select DVD_DOMAIN_Stop
参照
ログオンしているユーザーのペアレンタル ロック アクセス レベルを設定する。
構文
HRESULT SelectParentalLevel( ULONG ulParentalLevel );
パラメータ
- ulParentalLevel
- 現在のユーザーのペアレンタル ロック アクセス レベルを指定する値。詳細については、「注意」を参照すること。
戻り値
次のいずれかの値を返す。
S_OK 成功。 E_INVALIDARG 無効な引数。 VFW_E_DVD_INVALIDDOMAIN 無効なドメイン。
注意
DVD の仕様では、1 (最も制限の多いレベル) から 8 (最も制限の少ないレベル) までの 8 つの基本ペアレンタル ロック レベルが定義されている。これらのレベルの意味は地域によって異なり、現在の国に依存する (「SelectParentalCountry」を参照)。アメリカ合衆国とカナダ (DVD リージョン 1) では、以下のレベルが提唱されている。
ペアレンタル ロック レベル 意味 1 格付けは一般向けの G である。 3 格付けは保護者の指導が望ましい PG である。 4 格付けは保護者の指導が望ましく、13 歳未満の子供には推奨できない PG-13 である。 6 格付けは制限付きの R である。 7 格付けは 17 歳未満には不適切な NC-17 である。 このメソッドでは、現在のユーザーのアクセス レベルを設定する。このアクセス レベルによって、ユーザーが再生できるメディア ファイルが決まる。高いレベルは低いレベルのコンテンツを再生できるが、低いレベルは高いレベルのコンテンツを再生できない。たとえば、成人は子供向けのコンテンツを見ることができるが、子供は成人向けのコンテンツを見ることはできない。
DVD プレーヤー アプリケーションでは、現在のペアレンタル ロック レベルを上げる操作をパスワードによって保護するなど、ペアレンタル ロック レベルの設定を強制的に制限することができる。アプリケーションのユーザー インターフェイスには、レベルを設定し、チェックを完全に無効にする手段を持たせる必要がある。レベル 8 も許可しないようにディスクを作成することができるが、この場合はペアレンタル ロックが有効になっていると、有効なレベルがないため、だれもディスクを見ることができない。このようなディスクを見るには、ペアレンタル ロックを無効にする必要がある。DVD ナビゲータ フィルタのペアレンタル ロックは、デフォルトで無効になっている。
有効になっているペアレンタル ロックを無効にするには、ulParentalLevel として 0xffffffff を渡す。
このメソッドの使用例については、DVDSample アプリケーションの「CDvdCore::SetParentalLevel」を参照すること。
次の表は、このメソッド名が対応する Annex J コマンド名、およびこのメソッドが有効なドメインを示している。
Annex J コマンド名 有効なドメイン Parental_Level_Select DVD_DOMAIN_Stop
指定された相対ボタン (上、下、右、左) を設定する。
構文
HRESULT SelectRelativeButton( DVD_RELATIVE_BUTTON buttonDir, );
パラメータ
- buttonDir
- 選択するボタンを示す DVD_RELATIVE_BUTTON 値。
戻り値
次のいずれかの値を返す。
S_OK 成功。 VFW_E_DVD_INVALIDDOMAIN DVD ナビゲータ フィルタが有効なドメイン内にない。 VFW_E_DVD_OPERATION_INHIBITED UOP コントロールが処理を禁止している。
注意
次の表は、このメソッド名が対応する Annex J コマンド名、およびこのメソッドが有効なドメインを示している。
Annex J コマンド名 有効なドメイン (Left/Right/Upper/Lower)_Button_Select DVD_DOMAIN_VideoManagerMenu
DVD_DOMAIN_VideoTitleSetMenu
DVD_DOMAIN_Title
参照
表示するサブピクチャ ストリームを設定する。
構文
HRESULT SelectSubpictureStream( ULONG ulSubPicture, DWORD dwFlags, IDvdCmd **ppCmd );
パラメータ
- ulSubPicture
- サブピクチャ ストリームを指定する値。0 から 31 の間または 63 でなければならない。
0-31 ストリームが有効である。 63 ストリームがダミー ストリーム、つまりミュートされた低ビットレート ストリームである。 - dwFlags
- [in] コマンド同期オプションを指定する 1 つ以上の DVD_CMD_FLAGS 値を含むビット フラグ。
- ppCmd
- [out] DVD コマンドの同期に使用できる IDvdCmd オブジェクトへのポインタのアドレス。
戻り値
次のいずれかの値を返す。
S_OK 成功。 E_INVALIDARG ulSubPicture が範囲外であるか、SP ストリームに対応していない。 E_UNEXPECTED ulSubPicture パラメータは有効であるが、何らかの理由で DVD ナビゲータがこのパラメータを設定できない。 VFW_E_DVD_OPERATION_INHIBITED UOP コントロールが処理を禁止している。 VFW_E_DVD_INVALIDDOMAIN 無効なドメイン。 VFW_E_DVD_STREAM_DISABLED 指定されたストリームが無効になっている。
注意
次の表は、このメソッド名が対応する Annex J コマンド名、およびこのメソッドが有効なドメインを示している。
Annex J コマンド名 有効なドメイン Sub-picture_Stream_Change DVD_DOMAIN_VideoManagerMenu
DVD_DOMAIN_VideoTitleSetMenu
DVD_DOMAIN_Title
DVD_DOMAIN_Stop
参照
指定された再生用のビデオ ディスプレイ モード (ワイド スクリーン、レターボックス、またはパン-スキャン) を設定する。
構文
HRESULT SelectVideoModePreference( ULONG ulPreferredDisplayMode );
パラメータ
- ulPreferredDisplayMode
- [in] DVD コンテンツの新しいディスプレイ モードを指定する値。DVD_PREFERRED_DISPLAY_MODE 列挙型のメンバ。
戻り値
次のいずれかの値を返す。
S_OK 成功。 E_INVALIDARG 無効な引数。 VFW_E_DVD_INVALIDDOMAIN 無効なドメイン。 VFW_E_DVD_OPERATION_INHIBITED UOP コントロールが処理を禁止している。
注意
このメソッドでは、デフォルトのビデオ ウィンドウのアスペクト比を変更する。また、デフォルトのアスペクト比変換メカニズムを指定することもできる。
720×480 のソース ビデオをアスペクト比 16×9 に引き伸ばした変形 16×9 ソース ビデオは、以下のように表示される。
ワイドスクリーン 16×9 ビデオをクライアント出力ウィンドウの最大の 16×9 領域に置き、拡大する必要がある。ハイライト領域は 16×9 領域の内側に比例する。ブラック バーを上下または左右に追加して 16×9 領域を保持する必要がある。
パン スキャン 表示するビデオは、引き伸ばされた 16×9 ビデオから 4×3 サブウィンドウを取り出すことによって計算する。このとき、水平オフセットは MPEG-2 ビデオ ウィンドウのオフセットから得る。4×3 サブウィンドウを出力クライアント ウィンドウの最大の 4×3 領域に置く。ハイライト領域の座標は 4×3 出力ウィンドウに比例し、ソースの 16×9 ビデオには比例しない。ブラック バーを上下または左右に追加して 4×3 領域を保持する必要がある。
レターボックス 出力クライアント ウィンドウの最大の 4×3 領域を取り出すことによって 4×3 ディスプレイ領域を形成する。ブラック バーを上下または左右に追加して 4×3 領域を保持する必要がある。ソースの 16×9 ビデオを 4×3 サブウィンドウ内部の最大の 16×9 サブウィンドウ内に置く。ブラック バーをサブウィンドウの上下に追加して 16×9 領域を保持する必要がある。ハイライト領域の座標は、4×3 サブウィンドウに比例し、ソースの 16×9 ビデオには比例しない。ディスクで、16×9 領域の外ではあるが、4×3 ウィンドウの中にハイライト領域が表示されるように指定することが技術的に可能である。
4×3 ビデオの場合は、ビデオを出力クライアント ウィンドウの最大の 4×3 出力領域に表示する。ブラック バーを上下または左右に追加して 4×3 領域を保持する必要がある。
次の表は、このメソッド名が対応する Annex J コマンド名、およびこのメソッドが有効なドメインを示している。
Annex J コマンド名 有効なドメイン Video_PresentationMode_Change DVD_DOMAIN_VideoManagerMenu
DVD_DOMAIN_VideoTitleSetMenu
DVD_DOMAIN_Title
DVD_DOMAIN_Stop
DVD ナビゲータ フィルタが読み込む DVD ドライブを設定する。
構文
HRESULT SetDVDDirectory( LPCWSTR pszwPath );
パラメータ
- pszwPath
- [in] ルート ディレクトリのパスを指定する LPCWSTR 型の変数。
戻り値
次のいずれかの値を返す。
S_OK 成功。 E_INVALIDARG pszwPath パラメータが無効な DVD パスを指しているか、列挙中に DVD ドライブが見つからない。 E_UNEXPECTED DVD ナビゲータが初期化されていない。 S_FALSE pszwPath パラメータが NULL であり、DVD ナビゲータが DVD ボリュームを見つけられない。 VFW_E_DVD_INVALIDDOMAIN 無効なドメイン。詳細については「注意」を参照すること。
注意
pszwPath が NULL の場合、DVD ナビゲータは利用可能なすべてのドライブ上で DVD ボリュームを選択しようと試みる。起動時、DVD ナビゲータは、ルート フォルダに VIDEO_TS フォルダを持つドライブをドライブ C から順番に自動的に検索する。したがって、SetDVDDirectory を呼び出す必要があるのは、コンピュータに複数の DVD ドライブがある場合、または DVD ドライブ文字が A または B の場合に限られる。パスを指定するときは、vide_ts フォルダを含める。
SetDVDDirectory("e:\video_ts");一部の DVD ボリュームでは、"video_ts" 以外のディレクトリにビデオが格納されていることがある。一般に、追加の "DVD ボリューム" (通常は VIDEO_TS ディレクトリに格納される .IFO. VOB、および .BUP ファイルのセット) をディスク上のサブディレクトリに格納することができる。このディレクトリを指すようにルートを変更することにより、MSWebDVD はこの DVD ボリューム上で動作するようになる。その場合は、アクセス不能になる VIDEO_TS ルート内のタイトルとは異なる、新しいメニュー、タイトルなどのセットが利用可能になる。このようなディレクトリは "隠しディレクトリ" と呼ばれる。以下の例は、隠しディレクトリをルートとして設定する方法を示している。"hidden" はディスクの作成者がディレクトリに付けた名前が入るプレースホルダである。
SetDVDDirectory("d:\\webdvd\\hidden");フィルタ グラフが動作しており、DVD ナビゲータが pszwPath によって指定されたディレクトリ内で DVD を見つけると、DVD ナビゲータは自動的にディスクの再生を開始する。この動作は DVD の仕様に準拠しており、これによって新しいディスクが正しく初期化されることが保証される。SetDVDDirectory から動作が戻った後、新しいディスクを自動的に再生したくない場合は、SetOption の DVD_ResetOnStop フラグを TRUE に設定し、フィルタ グラフ マネージャで IMediaControl::Stop を呼び出すことによってフィルタ グラフを停止する必要がある。DVD_ResetOnStop が FALSE に設定されている場合、SetDVDDirectory は VFW_E_DVD_INVALIDDOMAIN を返す。
このメソッドの使用例については、DVDSample アプリケーションの「CDvdCore::SetDirectory」を参照すること。
次の表は、このメソッド名が対応する Annex J コマンド名、およびこのメソッドが有効なドメインを示している。
Annex J コマンド名 有効なドメイン なし DVD_DOMAIN_Stop
汎用パラメータ レジスタ値を設定する。
構文
HRESULT SetGPRM( ULONG ulIndex WORD wValue DWORD dwFlags, IDvdCmd **ppCmd );
パラメータ
- ulIndex
- [in] レジスタ インデックス。0 から 15 の値。
- wValue
- [in] 指定されたレジスタに格納される 16 ビットの値。
- dwFlags
- [in] コマンド同期オプションを指定する 1 つ以上の DVD_CMD_FLAGS 値を含むビット フラグ。
- ppCmd
- [out] DVD コマンドの同期に使用できる IDvdCmd オブジェクトへのポインタのアドレス。
戻り値
次のいずれかの値を返す。
S_OK 成功。 E_INVALIDARG ulIndex パラメータが 15 を超えているか、ほかのいずれかの入力パラメータが無効である。
注意
DVD ディスクは汎用パラメータ レジスタを使ってさまざまな種類の情報を格納する。これらのレジスタを 1 つ以上手動で設定することにより、アプリケーションに特定のカスタム機能を持たせることができる。これは高度なコマンドであり、DVD の仕様を完全に理解していない場合は使用しない方がよい。
次の表は、このメソッド名が対応する Annex J コマンド名、およびこのメソッドが有効なドメインを示している。
Annex J コマンド名 有効なドメイン なし すべて
参照
DVD ナビゲータ フィルタの内部動作フラグを有効または無効にする。
構文
HRESULT SetOption( DVD_OPTION_FLAG flag BOOL bEnable );
パラメータ
- flag
- [in] 変更するフラグを指定する DVD_OPTION_FLAG 値。詳細については「注意」を参照すること。
- bEnable
- [in] flag を有効にするか無効にするかを指定する BOOL 型の変数。flag を有効にするには TRUE に設定し、無効にするには FALSE に設定する。
戻り値
次のいずれかの値を返す。
S_OK 成功。 E_INVALIDARG flag 値が DVD_ResetOnStop または DVD_NotifyParentalLevelChange でない。
注意
DVD ナビゲータのインスタンスを作成した直後、およびいずれかの動作を変更したい場合は、必ず目的のフラグを指定して SetOption を呼び出す。
フラグ 意味 DVD_ResetOnStop このフラグを TRUE に設定すると、フィルタ グラフが停止したときに、ナビゲータは DVD Stop ドメインに入る。これはデフォルトの動作である。ナビゲータが Stop ドメインから再生を再開するときは、ディスクの先頭から再生が行われる。画面の解像度が変わったり、スクリーン セーバーが起動したり、コンピュータがサスペンド モードに入ったりすることにより、あるいはほかの理由によって、フィルタ グラフが突然停止することがあるため、この動作は望ましくないことがある。グラフが Stop 状態に移行したときにナビゲータが DVD Stop ドメインに入ることを防止するには、このフラグを FALSE に設定する。フラグを FALSE に設定すると、フィルタ グラフが動作を再開したとき、ナビゲータは前回停止した位置から再生を再開する。 通常、アプリケーションでは、IMediaControl::Run を呼び出して DVD-Video の再生を開始した直後あるいは再生を開始する前に、このフラグを FALSE に設定する必要がある。アプリケーションは、再生を停止するための明示的なユーザー コマンドに応えて IMediaControl::Stop を呼び出す前に、このフラグを TRUE に設定する必要がある。
DVD_NotifyParentalLevelChange このフラグでは、ディスク上でペアレンタル ロック レベルの変更が発生したときに、DVD ナビゲータがアプリケーションに通知する必要があるかどうかを指示する。このフラグを TRUE に設定すると、ナビゲータは、一時ペアレンタル ロック レベル コマンドが発生したときに、アプリケーションに EC_DVD_PARENTAL_LEVEL_CHANGE イベントを送信し、AcceptParentalLevelChange を通じてアプリケーションの応答を受信するまで、動作をブロックする。 このフラグが FALSE に設定されていると、ナビゲータが一時ペアレンタル ロック レベル コマンドを受け取り、現在のペアレンタル ロック レベルが低すぎる場合に、ナビゲータはコマンドを自動的に拒否し、そのコマンドが拒否されたときに移動するようにディスク上で指示されているパスに分岐する。次に、どのレベルが必要かをアプリケーションに通知する EC_DVD_PARENTAL_LEVEL_CHANGE イベントを送信する。次回の試行が成功するように、再生を停止し、パスワード ダイアログ ボックスを表示し、ムービーの再生を再開するかどうかは、アプリケーション側で判断する。
DVD_HMSF_TimeCodeEvents EC_DVD_CURRENT_TIME イベントと共に渡される旧来の BCD フォーマットではなく、DVD_HMSF_TIMECODE フォーマットで EC_DVD_CURRENT_HMSF_TIME タイム イベントを受信するときに、このフラグを TRUE に設定する。DVD_HMSF_TIMECODE フォーマットの方が扱いやすい。BCD フォーマットを使用するアプリケーションとの下位互換性を保つために、このフラグは、デフォルトでは FALSE に設定される。 次の表は、このメソッド名が対応する Annex J コマンド名、およびこのメソッドが有効なドメインを示している。
Annex J コマンド名 有効なドメイン なし すべて
参照
現在のディスクの位置と DVD ナビゲータ フィルタの状態を保存する。
構文
HRESULT SetState( IDvdState*pState, DWORD dwFlags, IDvdCmd **ppCmd );
パラメータ
- pState
- [in] ステート情報が格納されているオブジェクトの IDvdState インターフェイスへのポインタ。
- dwFlags
- [in] コマンド同期オプションを指定する 1 つ以上の DVD_CMD_FLAGS 値を含むビット フラグ。
- ppCmd
- [out] DVD コマンドの同期に使用できる IDvdCmd オブジェクトへのポインタのアドレス。
戻り値
成功すれば S_OK を返す。それ以外の場合は HRESULT 値を返す。
注意
DVD ナビゲータは、指定された状態オブジェクトに格納された位置情報を使って、再生位置をディスク上の特定の位置に戻す。
このメソッドの使用例については、DVDSample アプリケーションの「CDvdCore::RestoreBookmark」を参照すること。
サブピクチャの表示をオン、オフする。
構文
HRESULT SetSubpictureState( BOOL bState, DWORD dwFlags, IDvdCmd **ppCmd );
パラメータ
- bState
- [in] サブピクチャの表示をオンにするかどうかを指定するブール型の値。TRUE を指定すると、それ以降の再生でサブピクチャが表示される。
- dwFlags
- [in] コマンド同期オプションを指定する 1 つ以上の DVD_CMD_FLAGS 値を含むビット フラグ。
- ppCmd
- [out] DVD コマンドの同期に使用できる IDvdCmd オブジェクトへのポインタのアドレス。
戻り値
次のいずれかの値を返す。
S_OK 成功。 VFW_E_DVD_INVALIDDOMAIN DVD ナビゲータが First Play ドメイン内にある。 VFW_E_DVD_OPERATION_INHIBITED UOP コントロールが処理を禁止している。
注意
通常、サブピクチャ ストリームは、メニューではボタン テキストやボタンのグラフィックに、ビデオの再生では字幕、クレジット、その他のオーバーレイ グラフィックに使用される。サブピクチャをクローズド キャプションと混同してはならない。クローズド キャプションは、ビデオ ストリームの内部にエンコードされている。一般的に、このメソッドは、DVD ナビゲータ フィルタが DVD Title ドメイン内でビデオを再生している間にビデオに重ねて表示されるサブピクチャを制御することを目的としている。
このメソッドは、Annex J "Sub-picture_Stream_Change" コマンドの第 2 パラメータに相当する。
次の表は、このメソッド名が対応する Annex J コマンド名、およびこのメソッドが有効なドメインを示している。
Annex J コマンド名 有効なドメイン Sub-picture_stream_Change DVD_DOMAIN_VideoManagerMenu
DVD_DOMAIN_VideoTitleSetMenu
DVD_DOMAIN_Title
DVD_DOMAIN_Stop
参照
指定されたメニューがあれば表示する。
構文
HRESULT ShowMenu( DVD_MENU_ID MenuID DWORD dwFlags, IDvdCmd **ppCmd );
パラメータ
- MenuID
- [in] 表示するメニューを指定する DVD_MENU_ID 値。
- dwFlags
- コマンド同期オプションを指定する 1 つ以上の DVD_CMD_FLAGS 値を含むビット フラグ。
- ppCmd
- コマンドを DVD ナビゲータ フィルタと同期させるために使用できる IDvdCmd オブジェクトへのポインタのアドレス。
戻り値
次のいずれかの値を返す。
S_OK 成功。 E_INVALIDARG MenuID 値が範囲外である。 VFW_E_DVD_INVALIDDOMAIN 無効なドメイン。 VFW_E_DVD_OPERATION_INHIBITED UOP コントロールが処理を禁止している。
注意
ビデオ マネージャ メニュー (VMGM) は、Title ドメインまたは Video Title Set ドメインからアクセスできなければならない。ビデオ タイトル セット メニュー (VTSM) は、VMGM を通じてしかアクセスできなくてもよい。各 VTSM (チャプター、アングル、オーディオ ストリーム、サブピクチャ ストリーム用) の下のサブメニューは、その VTSM を通じてしかアクセスできない。
このメソッドの使用例については、DVDSample アプリケーションの「CDvdCore::RootMenu」および「CDvdCore::TitleMenu」を参照すること。
次の表は、このメソッド名が対応する Annex J コマンド名、およびこのメソッドが有効なドメインを示している。
Annex J コマンド名 有効なドメイン Menu_Call すべて
参照
再生を再開し、静止モードをキャンセルする。
構文
HRESULT StillOff(void);
戻り値
次のいずれかの値を返す。
S_OK 成功。 E_UNEXPECTED DVD ナビゲータ フィルタがメニュー ドメイン内にあり、メニューにボタンがある。 VFW_E_DVD_INVALIDDOMAIN 無効なドメイン。 VFW_E_DVD_OPERATION_INHIBITED UOP コントロールが処理を禁止している。
注意
still はディスクに格納されている静止画像である。これは、ユーザーが Pause ボタンをクリックしたときに表示される静止画とは異なる。DVD ナビゲータは静止画像を検出すると、アプリケーションに EC_DVD_STILL_ON メッセージを送信し、静止画保持モードに移行して画像を表示し、StillOff が呼び出されるまで再生を再開しない。
DVD ナビゲータが静止画保持モードになっていない場合、このメソッドは何もしない。
メニューを静止画として表示することもできるが、メニュー ドメインでは DVD ナビゲータが再生再開位置の情報を取得できないため、メニュー ドメイン内でこのメソッドを呼び出してはならない。
次の表は、このメソッド名が対応する Annex J コマンド名、およびこのメソッドが有効なドメインを示している。
Annex J コマンド名 有効なドメイン Still_Off DVD_DOMAIN_VideoManagerMenu
DVD_DOMAIN_VideoTitleSetMenu
DVD_DOMAIN_Title
DVD ナビゲータを DVD Stop ドメインに移行させることにより、タイトルまたはメニューの再生を停止する。
構文
HRESULT Stop(void);
戻り値
次のいずれかの値を返す。
S_OK 成功。 VFW_E_DVD_INVALIDDOMAIN 無効なドメイン。
注意
このメソッドを呼び出すと、DVD ナビゲータは Stop ドメインに移行するが、DVD フィルタ グラフ全体は、いつでも再生を再開できる実行状態にとどまる。ユーザーは Stop ドメインからメニューを表示したり、任意の "Play" メソッドを使って再生を直接開始したりすることができる。
次の表は、このメソッド名が対応する Annex J コマンド名、およびこのメソッドが有効なドメインを示している。
Annex J コマンド名 有効なドメイン Stop DVD_DOMAIN_FirstPlay
DVD_DOMAIN_VideoManagerMenu
DVD_DOMAIN_VideoTitleSetMenu
DVD_DOMAIN_Title