IDvdControl2
COM公式ドキュメント
IDvdControl2 インターフェイスは、DVD-Video タイトルのナビゲーションと再生を行います。
メソッド 40
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
PlayTitle メソッドは、指定されたタイトルの先頭から再生を開始します。
| ulTitle | DWORD | in | タイトル番号を指定する値。この値は 1 から 99 の範囲でなければなりません。 |
| dwFlags | DWORD | in | コマンドの同期方法を指定する、DVD_CMD_FLAGS 列挙型の 1 つ以上のフラグのビットごとの OR。 |
| ppCmd | IDvdCmd** | out | DVD コマンドの同期に使用できる IDvdCmd オブジェクトへのポインターを受け取ります。呼び出し元はインターフェイスを解放する必要があります。このパラメーターは NULL でもかまいません。詳細については、DVD コマンドの同期 を参照してください。 |
戻り値
以下のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| UOP 制御によりこの操作は禁止されています。 | |
| 引数が無効です。 |
解説(Remarks)
次の表は、このメソッド名が対応する Annex J コマンド名と、このメソッドが有効なドメインを示しています。
| Annex J コマンド名 | 有効なドメイン |
| Title_Play |
|
PlayChapterInTitle メソッドは、指定されたタイトル内の指定されたチャプターの先頭から再生を開始します。
| ulTitle | DWORD | in | チャプターが含まれるタイトルを指定する値。この値は 1 から 99 の範囲でなければなりません。 |
| ulChapter | DWORD | in | DVD Navigator が再生を開始する、指定されたタイトル内のチャプターを指定する値。この値は 1 から 999 の範囲でなければなりません。 |
| dwFlags | DWORD | in | コマンドの同期方法を指定する、DVD_CMD_FLAGS 列挙型の 1 つ以上のフラグのビットごとの OR。 |
| ppCmd | IDvdCmd** | out | DVD コマンドの同期に使用できる IDvdCmd オブジェクトへのポインターを受け取ります。呼び出し元はインターフェイスを解放する必要があります。このパラメーターは NULL でもかまいません。詳細については、DVD コマンドの同期 を参照してください。 |
戻り値
以下のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| UOP 制御によりこの操作は禁止されています。 | |
| 引数が無効です。 |
解説(Remarks)
次の表は、このメソッド名が対応する Annex J コマンド名と、このメソッドが有効なドメインを示しています。
このメソッドは、DVDSample アプリケーションの CDvdCore::PlayChapterInTitle で示されています。
| Annex J コマンド名 | 有効なドメイン |
| PTT_Play |
|
PlayAtTimeInTitle メソッドは、指定されたタイトル内の指定された時刻から再生を開始します。
| ulTitle | DWORD | in | 再生するタイトルの番号を指定する値。この値は 1 から 99 の範囲でなければなりません。 |
| pStartTime | DVD_HMSF_TIMECODE* | in | 再生を開始する位置を指定する DVD_HMSF_TIMECODE 構造体へのポインター。 |
| dwFlags | DWORD | in | コマンドの同期方法を指定する、DVD_CMD_FLAGS 列挙型の 1 つ以上のフラグのビットごとの OR。 |
| ppCmd | IDvdCmd** | out | DVD コマンドの同期に使用できる IDvdCmd オブジェクトへのポインターを受け取ります。呼び出し元はインターフェイスを解放する必要があります。このパラメーターは NULL でもかまいません。詳細については、DVD コマンドの同期 を参照してください。 |
戻り値
以下のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| UOP 制御によりこの操作は禁止されています。 | |
| 引数が無効です。 |
解説(Remarks)
次の表は、このメソッド名が対応する Annex J コマンド名と、このメソッドが有効なドメインを示しています。
| Annex J コマンド名 | 有効なドメイン |
| Time_Play |
|
Stop メソッドは、DVD Navigator を DVD Stop ドメインに移行させることで、タイトルまたはメニューの再生を停止します。
戻り値
以下のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| ドメインが無効です。 |
解説(Remarks)
このメソッドを呼び出すと、DVD Navigator は Stop ドメインに移行しますが、DVD フィルターグラフ全体は実行状態のまま保たれ、いつでも再生できる状態になります。Stop ドメインからは、ユーザーはメニューを表示したり、いずれかの "Play" メソッドを通じて直接再生を開始したりできます。
次の表は、このメソッド名が対応する Annex J コマンド名と、このメソッドが有効なドメインを示しています。
| Annex J コマンド名 | 有効なドメイン |
| Stop |
|
ReturnFromSubmenu メソッドは、表示をサブメニューからその親メニューに戻します。
| dwFlags | DWORD | in | コマンドの同期方法を指定する、DVD_CMD_FLAGS 列挙型の 1 つ以上のフラグのビットごとの OR。 |
| ppCmd | IDvdCmd** | out | DVD コマンドの同期に使用できる IDvdCmd オブジェクトへのポインターを受け取ります。呼び出し元はインターフェイスを解放する必要があります。このパラメーターは NULL でもかまいません。詳細については、DVD コマンドの同期 を参照してください。 |
戻り値
以下のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| UOP 制御によりこの操作は禁止されています。 | |
| GoUp プログラムチェーン (PGC) が存在しないため、この操作は実行できません。 |
解説(Remarks)
DVD Navigator が最上位のメニューにある場合、このメソッドは IDvdControl2::Resume メソッドを呼び出し、再生が中断された位置から続行されるようにします。
次の表は、このメソッド名が対応する Annex J コマンド名と、このメソッドが有効なドメインを示しています。
| Annex J コマンド名 | 有効なドメイン |
| GoUP |
|
PlayAtTime メソッドは、現在のタイトル内の指定された時刻から再生を開始します。
| pTime | DVD_HMSF_TIMECODE* | in | 再生を開始する時刻を指定する DVD_HMSF_TIMECODE 構造体へのポインター。 |
| dwFlags | DWORD | in | コマンドの同期方法を指定する、DVD_CMD_FLAGS 列挙型の 1 つ以上のフラグのビットごとの OR。 |
| ppCmd | IDvdCmd** | out | DVD コマンドの同期に使用できる IDvdCmd オブジェクトへのポインターを受け取ります。呼び出し元はインターフェイスを解放する必要があります。このパラメーターは NULL でもかまいません。詳細については、DVD コマンドの同期 を参照してください。 |
戻り値
以下のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| 引数が無効です。 | |
| UOP 制御によりこの操作は禁止されています。 |
解説(Remarks)
このメソッドは、DVDSample アプリケーションの CDvdCore::PlayTime で示されています。
次の表は、このメソッド名が対応する Annex J コマンド名と、このメソッドが有効なドメインを示しています。
| Annex J コマンド名 | 有効なドメイン |
| Time_Search | DVD_DOMAIN_Title |
PlayChapter メソッドは、現在のタイトル内の指定されたチャプターから再生を開始します。
| ulChapter | DWORD | in | DVD Navigator が再生を開始する、現在のタイトル内のチャプターを指定する値。この値は 1 から 999 の範囲でなければなりません。 |
| dwFlags | DWORD | in | コマンドの同期方法を指定する、DVD_CMD_FLAGS 列挙型の 1 つ以上のフラグのビットごとの OR。 |
| ppCmd | IDvdCmd** | out | DVD コマンドの同期に使用できる IDvdCmd オブジェクトへのポインターを受け取ります。呼び出し元はインターフェイスを解放する必要があります。このパラメーターは NULL でもかまいません。詳細については、DVD コマンドの同期 を参照してください。 |
戻り値
以下のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| UOP 制御によりこの操作は禁止されています。 | |
| 引数が無効です。 |
解説(Remarks)
DVD Navigator は指定されたチャプターから再生を開始し、後続のチャプターへと続けます。現在のチャプターのみを再生するには、IDvdControl2::PlayChaptersAutoStop を使用します。
次の表は、このメソッド名が対応する Annex J コマンド名と、このメソッドが有効なドメインを示しています。
このメソッドは、DVDSample アプリケーションの CDvdCore::PlayChapter で示されています。
| Annex J コマンド名 | 有効なドメイン |
| PTT_Search | DVD_DOMAIN_Title |
PlayPrevChapter メソッドは、現在のタイトル内の前のチャプターの先頭から再生を開始します。
| dwFlags | DWORD | in | コマンドの同期方法を指定する、DVD_CMD_FLAGS 列挙型の 1 つ以上のフラグのビットごとの OR。 |
| ppCmd | IDvdCmd** | out | DVD コマンドの同期に使用できる IDvdCmd オブジェクトへのポインターを受け取ります。呼び出し元はインターフェイスを解放する必要があります。このパラメーターは NULL でもかまいません。詳細については、DVD コマンドの同期 を参照してください。 |
戻り値
以下のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| UOP 制御によりこの操作は禁止されています。 |
解説(Remarks)
次の表は、このメソッド名が対応する Annex J コマンド名と、このメソッドが有効なドメインを示しています。
このメソッドは、DVDSample アプリケーションの CDvdCore::PrevChapter で示されています。
| Annex J コマンド名 | 有効なドメイン |
| PrevPG_Search |
|
ReplayChapter メソッドは、現在のチャプターの先頭から再生を開始します。
| dwFlags | DWORD | in | コマンドの同期方法を指定する、DVD_CMD_FLAGS 列挙型の 1 つ以上のフラグのビットごとの OR。 |
| ppCmd | IDvdCmd** | out | DVD コマンドの同期に使用できる IDvdCmd オブジェクトへのポインターを受け取ります。呼び出し元はインターフェイスを解放する必要があります。このパラメーターは NULL でもかまいません。詳細については、DVD コマンドの同期 を参照してください。 |
戻り値
以下のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| UOP 制御によりこの操作は禁止されています。 |
解説(Remarks)
次の表は、このメソッド名が対応する Annex J コマンド名と、このメソッドが有効なドメインを示しています。
| Annex J コマンド名 | 有効なドメイン |
| TopPG_Search |
|
PlayNextChapter メソッドは、現在のタイトル内の次のチャプターの先頭から再生を開始します。
| dwFlags | DWORD | in | コマンドの同期方法を指定する、DVD_CMD_FLAGS 列挙型の 1 つ以上のフラグのビットごとの OR。 |
| ppCmd | IDvdCmd** | out | DVD コマンドの同期に使用できる IDvdCmd オブジェクトへのポインターを受け取ります。呼び出し元はインターフェイスを解放する必要があります。このパラメーターは NULL でもかまいません。詳細については、DVD コマンドの同期 を参照してください。 |
戻り値
以下のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| UOP 制御によりこの操作は禁止されています。 |
解説(Remarks)
次のチャプターを再生した後、DVD Navigator はディスク上の分岐指示に従って再生を続けます。次のチャプターのみを再生するには、IDvdControl2::PlayChaptersAutoStop を呼び出します。
このメソッドは、DVDSample アプリケーションの CDvdCore::NextChapter で示されています。
次の表は、このメソッド名が対応する Annex J コマンド名と、このメソッドが有効なドメインを示しています。
| Annex J コマンド名 | 有効なドメイン |
| NextPG_Search |
|
PlayForwards メソッドは、現在の位置から指定された速度で順方向に再生します。
| dSpeed | DOUBLE | in | 再生速度を指定する値。この値は倍率であり、1.0 がオーサリング時の速度です。したがって、2.5 の値はオーサリング時の速度の 2.5 倍で再生し、0.5 の値はオーサリング時の速度の半分で再生します。実際の再生速度はビデオデコーダーの能力に依存します。0.00001 未満の値は 0.00001 に変換されます。 |
| dwFlags | DWORD | in | コマンドの同期方法を指定する、DVD_CMD_FLAGS 列挙型の 1 つ以上のフラグのビットごとの OR。 |
| ppCmd | IDvdCmd** | out | DVD コマンドの同期に使用できる IDvdCmd オブジェクトへのポインターを受け取ります。呼び出し元はインターフェイスを解放する必要があります。このパラメーターは NULL でもかまいません。詳細については、DVD コマンドの同期 を参照してください。 |
戻り値
以下のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| UOP 制御によりこの操作は禁止されています。 |
解説(Remarks)
このメソッドは、DVDSample アプリケーションの CDvdCore::FastForward で示されています。
次の表は、このメソッド名が対応する Annex J コマンド名と、このメソッドが有効なドメインを示しています。
| Annex J コマンド名 | 有効なドメイン |
| Forward_Scan |
|
PlayBackwards メソッドは、現在の位置から指定された速度で逆方向に再生します。
| dSpeed | DOUBLE | in | 逆方向再生の速度を指定する値。この値は倍率であり、1.0 がオーサリング時の速度です。したがって、2.5 の値はオーサリング時の速度の 2.5 倍で逆方向に再生し、0.5 の値はオーサリング時の速度の半分で逆方向に再生します。実際の再生速度はビデオデコーダーの能力に依存し、指定した速度と異なる場合があります。逆方向再生では、オーディオはミュートされ、サブピクチャは表示されません。0.00001 未満の速度は 0.00001 に変換されます。 |
| dwFlags | DWORD | in | コマンドの同期方法を指定する、DVD_CMD_FLAGS 列挙型の 1 つ以上のフラグのビットごとの OR。 |
| ppCmd | IDvdCmd** | out | DVD コマンドの同期に使用できる IDvdCmd オブジェクトへのポインターを受け取ります。呼び出し元はインターフェイスを解放する必要があります。このパラメーターは NULL でもかまいません。詳細については、DVD コマンドの同期 を参照してください。 |
戻り値
以下のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| UOP 制御によりこの操作は禁止されています。 |
解説(Remarks)
このメソッドは、DVDSample アプリケーションの CDvdCore::Rewind で示されています。
次の表は、このメソッド名が対応する Annex J コマンド名と、このメソッドが有効なドメインを示しています。
| Annex J コマンド名 | 有効なドメイン |
| Backward_Scan |
|
ShowMenu メソッドは、指定されたメニューが利用可能な場合にそれを表示します。
| MenuID | DVD_MENU_ID | in | 表示するメニューを指定する DVD_MENU_ID 列挙値。 |
| dwFlags | DWORD | in | コマンドの同期方法を指定する、DVD_CMD_FLAGS 列挙型の 1 つ以上のフラグのビットごとの OR。 |
| ppCmd | IDvdCmd** | out | DVD コマンドの同期に使用できる IDvdCmd オブジェクトへのポインターを受け取ります。呼び出し元はインターフェイスを解放する必要があります。このパラメーターは NULL でもかまいません。詳細については、DVD コマンドの同期 を参照してください。 |
戻り値
以下のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| MenuID パラメーターが無効です。 | |
| ドメインが無効です。 | |
| 指定されたメニューは存在しません。 | |
| UOP 制御によりこの操作は禁止されています。 |
解説(Remarks)
Video Manager Menu (VMGM) は、Title ドメインまたは Video Title Set ドメインからアクセスできる必要があります。Video Title Set メニュー (VTSM) は、VMGM を通じてのみアクセスできる場合があります。各 VTSM の下にあるサブメニュー (チャプター、アングル、オーディオおよびサブピクチャストリーム用) は、その VTSM を通じてのみアクセスできます。
このメソッドは、DVDSample アプリケーションの CDvdCore::RootMenu および CDvdCore::TitleMenu で示されています。
次の表は、このメソッド名が対応する Annex J コマンド名と、このメソッドが有効なドメインを示しています。
| Annex J コマンド名 | 有効なドメイン |
| Menu_Call | すべて。 |
Resume メソッドは、メニューを抜けて再生を再開します。
| dwFlags | DWORD | in | コマンドの同期方法を指定する、DVD_CMD_FLAGS 列挙型の 1 つ以上のフラグのビットごとの OR。 |
| ppCmd | IDvdCmd** | out | DVD コマンドの同期に使用できる IDvdCmd オブジェクトへのポインターを受け取ります。呼び出し元はインターフェイスを解放する必要があります。このパラメーターは NULL でもかまいません。詳細については、DVD コマンドの同期 を参照してください。 |
戻り値
以下のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| UOP 制御によりこの操作は禁止されています。 | |
| Video Manager Menu から Resume が呼び出されました。 |
解説(Remarks)
このメソッドは、再生が中断された位置から再生に戻ります。
次の表は、このメソッド名が対応する Annex J コマンド名と、このメソッドが有効なドメインを示しています。
このメソッドは、DVDSample アプリケーションの CDvdCore::RootMenu および CDvdCore::TitleMenu で示されています。
| Annex J コマンド名 | 有効なドメイン |
| Resume |
|
SelectRelativeButton メソッドは、指定された相対ボタン (上、下、右、または左) を設定します。
| buttonDir | DVD_RELATIVE_BUTTON | in | 選択するボタンを示す DVD_RELATIVE_BUTTON 列挙値。 |
戻り値
以下のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| DVD Navigator フィルターが有効なドメインにありません。 | |
| UOP 制御によりこの操作は禁止されています。 |
解説(Remarks)
次の表は、このメソッド名が対応する Annex J コマンド名と、このメソッドが有効なドメインを示しています。
| Annex J コマンド名 | 有効なドメイン |
| (Left/Right/Upper/Lower)_Button_Select |
|
ActivateButton メソッドは、現在選択されているメニューボタンをアクティブ化します。
戻り値
以下のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| DVD Navigator が無効なドメインにあります。 | |
| UOP 制御により、DVD Navigator は一時停止状態に入ることを禁止されています。 | |
| ボタンが選択されていません。 |
解説(Remarks)
アプリケーションは、物理的なリモコンのボタンを表すために、ビデオ表示の横に 4 つの相対ボタンを備えている場合と備えていない場合があります。これらのボタンによって、ユーザーはメニューボタンを選択できますが、アクティブ化することはできません。選択したボタンをアクティブ化するには、5 つ目のボタンが必要です。5 つ目のボタンのマウスクリックに応じて ActivateButton を呼び出します。
次の表は、このメソッド名が対応する Annex J コマンド名と、このメソッドが有効なドメインを示しています。
| Annex J コマンド名 | 有効なドメイン |
| Button_Activate |
|
SelectButton メソッドは、指定されたメニューボタンを選択します。
| ulButton | DWORD | in | 選択するボタンを指定する、1 から 36 の値。 |
戻り値
以下のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| DVD Navigator が無効なドメインにあります。 | |
| ボタンが選択されていません。 | |
| UOP 制御により、DVD Navigator は一時停止状態に入ることを禁止されています。 |
解説(Remarks)
次の表は、このメソッド名が対応する Annex J コマンド名と、このメソッドが有効なドメインを示しています。
| Annex J コマンド名 | 有効なドメイン |
| Upper_Button_Select, Lower_Button_Select, Left_Button_Select, Right_Button_Select |
|
SelectAndActivateButton メソッドは、指定されたメニューボタンを選択してアクティブ化します。
| ulButton | DWORD | in | 選択してアクティブ化するボタンを指定する、1 から 36 の値。 |
戻り値
以下のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| ulButton が範囲外です。 | |
| ulButton の値は有効ですが、DVD Navigator フィルターがそれをアクティブ化できませんでした。 | |
| UOP 制御によりこの操作は禁止されています。 |
解説(Remarks)
次の表は、このメソッド名が対応する Annex J コマンド名と、このメソッドが有効なドメインを示しています。
| Annex J コマンド名 | 有効なドメイン |
| Button_Select_and_Activate |
|
StillOff メソッドは、静止モードを解除して再生を再開します。
戻り値
以下のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| DVD Navigator フィルターがメニュードメインにあり、メニューにボタンがあります。 | |
| ドメインが無効です。 | |
| UOP 制御によりこの操作は禁止されています。 |
解説(Remarks)
静止画 (still) は、ディスクによって提示される静的な画像です。これは、ユーザーが Pause ボタンをクリックしたときに表示される、フリーズした表示画像とは異なります。DVD Navigator は静止画に遭遇すると、アプリケーションに EC_DVD_STILL_ON メッセージを送信し、その画像を表示する still-store モードに入り、再生を再開する前に StillOff が呼び出されるのを待ちます。
DVD Navigator が still-store モードにない場合、このメソッドは何も行いません。
次の表は、このメソッド名が対応する Annex J コマンド名と、このメソッドが有効なドメインを示しています。
| Annex J コマンド名 | 有効なドメイン |
| Still_Off |
|
メモ このメソッドは非推奨です。アプリケーションは代わりに IMediaControl::Pause を呼び出す必要があります。詳細については、「DVD Navigator におけるデータフロー」を参照してください。Pause メソッドは、現在の位置で再生を一時停止または再開します。
| bState | BOOL | in | 再生を一時停止するかどうかを指定する Boolean 型の値。TRUE は一時停止することを意味します。 |
戻り値
以下のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| ドメインが無効です。 | |
| UOP 制御により、DVD Navigator は一時停止状態に入ることを禁止されています。 |
解説(Remarks)
DVD Navigator を一時停止状態にすると、IMediaControl::Pause と同様に、再生とすべての内部タイマーが停止します。フィルターグラフが実行されていない場合、このメソッドは何も行いません。
次の表は、このメソッド名が対応する Annex J コマンド名と、このメソッドが有効なドメインを示しています。
| Annex J コマンド名 | 有効なドメイン |
| Pause_On, Pause_Off |
|
SelectAudioStream メソッドは、再生するオーディオストリームを選択します。
| ulAudio | DWORD | in | オーディオストリームを指定する値。有効なストリーム番号は 0 から 7 です。既定のストリームを指定するには DVD_DEFAULT_AUDIO_STREAM を指定します。 |
| dwFlags | DWORD | in | コマンドの同期方法を指定する、DVD_CMD_FLAGS 列挙型の 1 つ以上のフラグのビットごとの OR。このパラメーターは現在無視されます。DVD_CMD_FLAG_None を使用してください。 |
| ppCmd | IDvdCmd** | out | DVD コマンドの同期に使用できる IDvdCmd オブジェクトへのポインターを受け取ります。呼び出し元はインターフェイスを解放する必要があります。このパラメーターは NULL でもかまいません。詳細については、DVD コマンドの同期 を参照してください。 |
戻り値
以下のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| 既定のオーディオストリームが見つからなかったか、dwFlags が 0 ではありません。 | |
| 成功しました。 | |
| ulAudio が範囲外であるか、オーディオストリームに対応していません。 | |
| ulAudio の値は有効ですが、何らかの理由で DVD Navigator がそれを設定できませんでした。 | |
| UOP 制御によりこの操作は禁止されています。 | |
| 指定されたストリームは無効化されています。 |
解説(Remarks)
このメソッドは、現在の Video Title Set (VTS) のオーディオに影響します。メニュー内から呼び出された場合、このメソッドは、そのメニューの呼び出し元となったタイトルのオーディオストリームを設定します。
次の表は、このメソッド名が対応する Annex J コマンド名と、このメソッドが有効なドメインを示しています。
| Annex J コマンド名 | 有効なドメイン |
| Audio_Stream_Change |
|
SelectSubpictureStream メソッドは、表示するサブピクチャストリームを設定します。
| ulSubPicture | DWORD | in | サブピクチャストリームを指定する値。0 から 31、または 63 でなければなりません。
| ||||||
| dwFlags | DWORD | in | コマンドの同期方法を指定する、DVD_CMD_FLAGS 列挙型の 1 つ以上のフラグのビットごとの OR。 | ||||||
| ppCmd | IDvdCmd** | out | DVD コマンドの同期に使用できる IDvdCmd オブジェクトへのポインターを受け取ります。呼び出し元はインターフェイスを解放する必要があります。このパラメーターは NULL でもかまいません。詳細については、DVD コマンドの同期 を参照してください。 |
戻り値
以下のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| ulSubPicture が範囲外であるか、サブピクチャ (SP) ストリームに対応していません。 | |
| ulSubPicture パラメーターは有効ですが、他の何らかの理由で DVD Navigator がそれを設定できません。 | |
| UOP 制御によりこの操作は禁止されています。 | |
| ドメインが無効です。 | |
| 指定されたストリームは無効化されています。 |
解説(Remarks)
次の表は、このメソッド名が対応する Annex J コマンド名と、このメソッドが有効なドメインを示しています。
| Annex J コマンド名 | 有効なドメイン |
| Sub-picture_Stream_Change |
|
SetSubpictureState メソッドは、サブピクチャ表示のオンとオフを切り替えます。
| bState | BOOL | in | サブピクチャ表示をオンにするかどうかを指定する Boolean 値。TRUE は、以降の再生でサブピクチャ表示をオンに設定します。 |
| dwFlags | DWORD | in | コマンドの同期方法を指定する、DVD_CMD_FLAGS 列挙型の 1 つ以上のフラグのビットごとの OR。 |
| ppCmd | IDvdCmd** | out | DVD コマンドの同期に使用できる IDvdCmd オブジェクトへのポインターを受け取ります。呼び出し元はインターフェイスを解放する必要があります。このパラメーターは NULL でもかまいません。詳細については、DVD コマンドの同期 を参照してください。 |
戻り値
以下のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| DVD Navigator が First Play ドメインにあります。 | |
| UOP 制御によりこの操作は禁止されています。 |
解説(Remarks)
サブピクチャストリームは、通常、メニューではボタンのテキストや場合によってはボタンのグラフィックに、ビデオ再生では字幕、クレジット、その他の重ね合わせグラフィックに使用されます。サブピクチャをクローズドキャプションと混同しないでください。後者はビデオストリーム内にエンコードされています。一般に、このメソッドは、DVD Navigator フィルターが DVD Title ドメインでビデオを再生している間に、ビデオ上のサブピクチャ表示を制御することを目的としています。
このメソッドは、Annex J の "Sub-picture_Stream_Change" コマンドの 2 番目のパラメーターに対応します。
次の表は、このメソッド名が対応する Annex J コマンド名と、このメソッドが有効なドメインを示しています。
| Annex J コマンド名 | 有効なドメイン |
| Sub-picture_stream_Change |
|
SelectAngle メソッドは、DVD Navigator がアングルブロック内にあるときに新しいアングルを設定します。
| ulAngle | DWORD | in | 新しいアングルの値。1 から 9 でなければなりません。 |
| dwFlags | DWORD | in | コマンドの同期方法を指定する、DVD_CMD_FLAGS 列挙型の 1 つ以上のフラグのビットごとの OR。 |
| ppCmd | IDvdCmd** | out | DVD コマンドの同期に使用できる IDvdCmd オブジェクトへのポインターを受け取ります。呼び出し元はインターフェイスを解放する必要があります。このパラメーターは NULL でもかまいません。詳細については、DVD コマンドの同期 を参照してください。 |
戻り値
以下のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| ulAngle が範囲外です。 | |
| DVD Navigator が First Play ドメインにあります。 | |
| UOP 制御によりこの操作は禁止されています。 | |
| 現在の再生速度ではこの操作を実行できません。速度を 1.0 に設定してください。 |
解説(Remarks)
アングルとメニューボタンのインデックスは 1 から始まるのに対し、オーディオストリームとサブピクチャストリームのインデックスは 0 から始まることに注意してください。
次の表は、このメソッド名が対応する Annex J コマンド名と、このメソッドが有効なドメインを示しています。
| Annex J コマンド名 | 有効なドメイン |
| Angle_Change |
|
SelectParentalLevel メソッドは、ログオンしているユーザーのペアレンタルアクセスレベルを設定します。
| ulParentalLevel | DWORD | in | 現在のユーザーのペアレンタルアクセスレベルを指定する値。詳細については、「解説」を参照してください。 |
戻り値
以下のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| 引数が無効です。 | |
| ドメインが無効です。 |
解説(Remarks)
DVD 仕様では、1 (最も制限が厳しい) から 8 (最も制限が緩い) までの番号が付けられた 8 つの汎用ペアレンタルレベルが定義されています。これらのレベルの意味は地域ごとに異なり、現在の国/地域に依存します (IDvdControl2::SelectParentalCountry を参照)。米国とカナダ (DVD リージョン 1) の場合、推奨される値は次のとおりです。
| ペアレンタルレベル | 意味 |
| 1 | レーティングは G (一般向け) です。 |
| 3 | レーティングは PG (保護者の助言が望ましい) です。 |
| 4 | レーティングは PG-13 (保護者の助言が望ましく、13 歳未満には推奨されない) です。 |
| 6 | レーティングは R (制限付き) です。 |
| 7 | レーティングは NC-17 (17 歳未満には適さない) です。 |
このメソッドは現在のユーザーのアクセスレベルを設定します。このアクセスレベルによって、ユーザーが再生できるコンテンツが決まります。より高いレベルは、より低いレベルのコンテンツを再生できますが、より低いレベルは、より高いレベルのコンテンツを再生できません。言い換えると、大人は子供向けのコンテンツを視聴できますが、子供は成人向けのコンテンツを視聴できません。
DVD プレーヤーアプリケーションは、現在のペアレンタルレベルを上げる際にパスワード保護を提供するなど、ペアレンタルレベル設定に対する制限を適用できます。アプリケーションのユーザーインターフェイスには、レベルを設定する手段と、チェックを完全に無効にする手段を用意する必要があります。一部のディスクは、レベル 8 でさえ許可しないようにオーサリングされている場合があります。これは、どのレベルも有効ではなく、ペアレンタル管理が有効な場合は誰もそのディスクを視聴できないことを意味します。そのようなディスクでは、ディスクを視聴するためにペアレンタル管理を無効にする必要があります。DVD Navigator フィルターのペアレンタル管理は、既定で無効になっています。
ペアレンタル管理を有効にした後で無効にするには、ulParentalLevel に 0xffffffff を渡します。
このメソッドは、DVDSample アプリケーションの CDvdCore::SetParentalLevel で示されています。
次の表は、このメソッド名が対応する Annex J コマンド名と、このメソッドが有効なドメインを示しています。
| Annex J コマンド名 | 有効なドメイン |
| Parental_Level_Select | DVD_DOMAIN_Stop |
SelectParentalCountry メソッドは、ペアレンタルアクセスレベルの解釈と既定言語の設定に使用する国/地域を設定します。
| bCountry | BYTE* | in | ISO 3166 に従って現在の国/地域を指定するバイト配列。 |
戻り値
以下のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| 引数が無効です。 | |
| DVD Navigator フィルターが有効なドメインにありません。 |
解説(Remarks)
ペアレンタルの国/地域は、8 つの汎用ペアレンタルレベルの意味と、サウンドトラックおよびメニューの既定言語を決定します。詳細については、ペアレンタル管理レベルの適用 を参照してください。
次の表は、このメソッド名が対応する Annex J コマンド名と、このメソッドが有効なドメインを示しています。
| Annex J コマンド名 | 有効なドメイン |
| Parental_Country_Select | DVD_DOMAIN_Stop |
SelectKaraokeAudioPresentationMode メソッドは、カラオケの補助チャンネルを左または右のスピーカーに送ります。
| ulMode | DWORD | in | 5 つのカラオケチャンネルを、通常は左右のスピーカーに出力されるチャンネル 0 および 1 にどのようにダウンミックスするかを示す、DVD_KARAOKE_DOWNMIX 列挙型のビットごとの OR。 |
戻り値
以下のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| オーディオデコーダーがダウンミックスをサポートしていません。 | |
| DVD Navigator フィルターが無効なドメインにあります。 | |
| UOP 制御により現在の操作は禁止されています。 |
解説(Remarks)
DVD Navigator は、カラオケモードに入ると、オーディオデコーダーにカラオケのダウンミックスをサポートしているかどうかを問い合わせます。デコーダーがサポートしている場合、チャンネル 2 から 4 (ガイドボーカル、ガイドメロディ、効果音を含むカラオケの補助チャンネル) はミュートされます。個々のチャンネルのオン/オフを切り替え、それらをチャンネル 0 および 1 に振り分けるには、このメソッドを使用します。
このメソッドは、DVDSample アプリケーションの CKaraokeDlg::DoModal で示されています。
次の表は、このメソッド名が対応する Annex J コマンド名と、このメソッドが有効なドメインを示しています。
| Annex J コマンド名 | 有効なドメイン |
| Karaoke_Audio_Presentation_Mode_Change |
|
SelectVideoModePreference メソッドは、再生用に指定されたビデオモード表示 (ワイドスクリーン、レターボックス、またはパンスキャン) を設定します。
| ulPreferredDisplayMode | DWORD | in | DVD コンテンツの新しい表示モードを指定する値。DVD_PREFERRED_DISPLAY_MODE 列挙型のメンバー。 |
戻り値
以下のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| 引数が無効です。 | |
| ドメインが無効です。 | |
| UOP 制御によりこの操作は禁止されています。 |
解説(Remarks)
このメソッドは、既定のビデオウィンドウの縦横比を変更し、既定の縦横比変換メカニズムを指定することもできます。
720 x 480 のソースビデオを 16 x 9 の縦横比に引き伸ばして形成される、アナモルフィック 16 x 9 ソースビデオの場合。
ワイドスクリーン 16 x 9 のソースビデオは、クライアント出力ウィンドウ内の最大の 16 x 9 領域に配置し、引き伸ばす必要があります。ハイライトは 16 x 9 領域の内側を基準とします。16 x 9 領域を維持するために、上下または左右のいずれかに黒い帯を追加する必要があります。
パンスキャン 表示されるビデオは、引き伸ばされた 16 x 9 ビデオから 4 x 3 のサブウィンドウを切り出して計算されます (水平方向のオフセットは MPEG-2 ビデオのウィンドウのオフセットで提供されます)。4 x 3 のサブウィンドウは、出力クライアントウィンドウ内の最大の 4 x 3 領域に配置されます。ハイライトの座標は 4 x 3 出力ウィンドウを基準とします (ソースの 16 x 9 ビデオとは関係ありません)。4 x 3 領域を維持するために、上下または左右のいずれかに黒い帯を追加する必要があります。
レターボックス 4 x 3 の表示領域は、出力クライアントウィンドウの最大の 4 x 3 領域を取って形成されます。4 x 3 領域を維持するために、上下または左右のいずれかに黒い帯を追加する必要があります。ソースの 16 x 9 ビデオは、4 x 3 サブウィンドウ内の最大の 16 x 9 サブウィンドウに配置されます。16 x 9 領域を維持するために、サブウィンドウの上下に黒い帯を追加する必要があります。ハイライトの座標は 4 x 3 サブウィンドウを基準とします (ソースの 16 x 9 ビデオとは関係ありません)。技術的には、ディスクが 16 x 9 領域の外側 (ただし 4 x 3 ウィンドウ内) にあるハイライトを指定することも可能です。
4 x 3 ビデオの場合、ビデオは出力クライアントウィンドウの最大の 4 x 3 出力領域に配置されます。4 x 3 領域を維持するために、上下または左右のいずれかに黒い帯を追加する必要があります。
次の表は、このメソッド名が対応する Annex J コマンド名と、このメソッドが有効なドメインを示しています。
| Annex J コマンド名 | 有効なドメイン |
| Video_Presentation_Mode_Change |
|
SetDVDDirectory メソッドは、DVD Navigator フィルターが読み取る DVD ドライブを設定します。
| pszwPath | LPWSTR | in | ルートディレクトリのパスを指定するワイド文字列へのポインター。 |
戻り値
以下のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| pszwPath パラメーターが無効な DVD パスを指しているか、列挙中に DVD ドライブが見つかりません。 | |
| DVD Navigator が初期化されていません。 | |
| ドメインが無効です。詳細については、「解説」を参照してください。 |
解説(Remarks)
pszwPath が NULL の場合、DVD Navigator は利用可能な任意のドライブ上の DVD ボリュームを選択しようとします。起動時に、DVD Navigator はドライブ C から順に、ルートフォルダーに VIDEO_TS フォルダーがあるドライブを自動的に探します。したがって、SetDVDDirectory を呼び出す必要があるのは、マシンに複数の DVD ドライブがある場合、または DVD ドライブのドライブ文字が A または B の場合のみです。パスを指定するときは、video_ts フォルダーを含めてください。
| C++ |
|---|
SetDVDDirectory(L"e:\\video_ts"); |
| C++ |
|---|
SetDVDDirectory(L"d:\\webdvd\\hidden"); |
SetDVDDirectory が戻った後に新しいディスクを自動的に再生したくない場合は、IDvdControl2::SetOption の DVD_ResetOnStop フラグを TRUE に設定し、Filter Graph Manager に対する IMediaControl::Stop の呼び出しによってフィルターグラフを停止する必要があります。DVD_ResetOnStop が FALSE に設定されている場合、SetDVDDirectory は VFW_E_DVD_INVALIDDOMAIN を返します。
このメソッドは、DVDSample アプリケーションの CDvdCore::SetDirectory で示されています。
次の表は、このメソッド名が対応する Annex J コマンド名と、このメソッドが有効なドメインを示しています。
| Annex J コマンド名 | 有効なドメイン |
| なし | DVD_DOMAIN_Stop |
ActivateAtPosition メソッドは、マウスポインターの位置にあるメニューボタンをアクティブ化します。
| point | POINT | in | クライアントウィンドウ領域上の点。画面のピクセル座標で指定します。 |
戻り値
以下のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| クリックがハイライトされたボタンの矩形内で発生し、ボタンが正常にアクティブ化されました。 | |
| 指定された座標が有効なビデオ領域の外側にあります。 | |
| ボタンは存在しますが、機能していません。 | |
| DVD Navigator がメニュードメインにありません。 | |
| マウスポインターの位置にメニューボタンがありません。 | |
| この操作はユーザー操作 (UOP) 制御によって禁止されています。 |
解説(Remarks)
マウスポインターの座標は、クライアント領域の左上を基準とします。ビデオがレターボックス形式の場合、これは必ずしもビデオ表示領域とは限りません。
ユーザーがマウスポインターをメニューボタンの上に直接移動させてメニューを操作しているときは、このメソッドを使用します。ユーザーが相対ボタンを使用してメニューを操作している場合は、ActivateAtPosition ではなく ActivateButton を使用します。
次の表は、このメソッド名が対応する Annex J コマンド名と、このメソッドが有効なドメインを示しています。
| Annex J コマンド名 | 有効なドメイン |
| なし |
|
SelectAtPosition メソッドは、マウスポインターの位置にあるメニューボタンをハイライト表示します。
| point | POINT | in | 画面上の点。画面のピクセル座標で指定します。 |
戻り値
以下のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| マウスポインターの位置にボタンがありません。 | |
| DVD Navigator が Stop ドメインにあります。 |
解説(Remarks)
アングルとメニューボタンのインデックスは 1 から始まるのに対し、オーディオストリームとサブピクチャストリームのインデックスは 0 から始まることに注意してください。
ポインターがメニューボタンの上にあるときのマウスクリックに応じて、IDvdControl2::ActivateButton を呼び出します。
次の表は、このメソッド名が対応する Annex J コマンド名と、このメソッドが有効なドメインを示しています。
このメソッドは、DVDSample アプリケーションの CDvdCore::OnMouseEvent で示されています。
| Annex J コマンド名 | 有効なドメイン |
| なし |
|
PlayChaptersAutoStop メソッドは、指定されたタイトル内の指定されたチャプターから開始して、指定された数のチャプターを再生します。
| ulTitle | DWORD | in | チャプターが含まれるタイトルを指定する値。この値は 1 から 99 の範囲でなければなりません。 |
| ulChapter | DWORD | in | DVD Navigator が再生を開始する、指定されたタイトル内のチャプターを指定する値。この値は 1 から 999 の範囲でなければなりません。 |
| ulChaptersToPlay | DWORD | in | 開始チャプターから再生するチャプターの数。 |
| dwFlags | DWORD | in | コマンドの同期方法を指定する、DVD_CMD_FLAGS 列挙型の 1 つ以上のフラグのビットごとの OR。 |
| ppCmd | IDvdCmd** | out | DVD コマンドの同期に使用できる IDvdCmd オブジェクトへのポインターを受け取ります。呼び出し元はインターフェイスを解放する必要があります。このパラメーターは NULL でもかまいません。詳細については、DVD コマンドの同期 を参照してください。 |
戻り値
以下のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| DVD Navigator が初期化されていないか、タイトルが One Sequential PGC Title ではありません。 | |
| ulTitle の値が存在しないかタイトル数を超えているか、ulChapter が存在しないかチャプター数を超えているか、または ulChapter と ulChaptersToPlay の合計がチャプター数を超えています。 | |
| グラフが実行状態にありません。 |
解説(Remarks)
このメソッドは、One_Sequential_PGC_Titles でのみ機能します。指定された数のチャプターが再生されると、DVD Navigator はアプリケーションに EC_DVD_CHAPTER_AUTOSTOP イベント通知を送信します。
次の表は、このメソッド名が対応する Annex J コマンド名と、このメソッドが有効なドメインを示しています。
| Annex J コマンド名 | 有効なドメイン |
| なし。 | すべて。 |
AcceptParentalLevelChange メソッドは、より高いペアレンタル管理レベルのコンテンツを再生するという DVD Navigator からの要求を受け入れるか拒否します。
| bAccept | BOOL | in | アプリケーションがペアレンタル管理レベルの変更を受け入れるかどうかを示すフラグ。変更を受け入れてより高いレベルのコンテンツを再生するには TRUE を指定し、変更を拒否するには FALSE を指定します。 |
戻り値
成功した場合は S_OK を返し、それ以外の場合はエラーコードを返します。
解説(Remarks)
一時的なペアレンタル管理レベル (PML) コマンドは、後続のコンテンツがタイトル全体に指定されたレベルよりも高い PML を持つことを示す、DVD ディスク上のマーカーです。このマーカーには、変更が受け入れられたか拒否されたかに応じて、どこに分岐するかの指示も含まれています。FALSE を指定すると、DVD Navigator はディスク上の拒否時の分岐に従います。TRUE を指定すると、DVD Navigator はより高いレベルのコンテンツへの分岐に従います。
AcceptParentalLevelChange は、SetOption メソッドと組み合わせて使用します。処理の流れは次のとおりです。まず、SetOption(DVD_NotifyParentalLevelChange, TRUE) を呼び出して、アプリケーションに EC_DVD_PARENTAL_LEVEL_CHANGE イベント通知を送信した後は常に待機するよう DVD Navigator に指示します。イベントハンドラーで、変更を受け入れるか拒否するかを判断するコードを実装し、その後 AcceptParentalLevelChange を呼び出して、その決定を DVD Navigator に通知します。
次の表は、このメソッド名が対応する Annex J コマンド名と、このメソッドが有効なドメインを示しています。
| Annex J コマンド名 | 有効なドメイン |
| なし | すべて |
SetOption メソッドは、DVD Navigator フィルターの内部動作フラグを有効または無効にします。
| flag | DVD_OPTION_FLAG | in | 変更する動作を、DVD_OPTION_FLAG 列挙型のメンバーとして指定します。 |
| fState | BOOL | in | flag パラメーターで指定されたオプションの新しい値を指定します。 DVD_OPTION_FLAG リファレンスページ。 |
戻り値
以下のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| フラグが無効です。 |
解説(Remarks)
DVD Navigator のインスタンスを作成した直後、および何らかの動作を変更したいときにはいつでも、目的のフラグを指定して SetOption を呼び出します。
次の表は、このメソッド名が対応する Annex J コマンド名と、このメソッドが有効なドメインを示しています。
| Annex J コマンド名 | 有効なドメイン |
|---|---|
| なし | すべて |
SetState メソッドは、現在のディスク位置と DVD Navigator フィルターの状態を保存します。
| pState | IDvdState* | in | 状態情報を格納しているオブジェクトの IDvdState インターフェイスへのポインター。 |
| dwFlags | DWORD | in | コマンドの同期方法を指定する、DVD_CMD_FLAGS 列挙型の 1 つ以上のフラグのビットごとの OR。 |
| ppCmd | IDvdCmd** | out | DVD コマンドの同期に使用できる IDvdCmd オブジェクトへのポインターを受け取ります。呼び出し元はインターフェイスを解放する必要があります。このパラメーターは NULL でもかまいません。詳細については、DVD コマンドの同期 を参照してください。 |
戻り値
成功した場合は S_OK を返し、それ以外の場合は HRESULT 値を返します。
解説(Remarks)
DVD Navigator は、指定された状態オブジェクト内の位置情報を使用して、再生位置をディスク上の特定の位置に復元します。
このメソッドは、DVDSample アプリケーションの CDvdCore::RestoreBookmark で示されています。
PlayPeriodInTitleAutoStop メソッドは、指定されたタイトルで、指定された開始時刻から指定された終了時刻まで再生を開始します。
| ulTitle | DWORD | in | タイトルを指定する値。この値は 1 から 99 の範囲でなければなりません。 |
| pStartTime | DVD_HMSF_TIMECODE* | in | 再生を開始する時刻を指定する DVD_HMSF_TIMECODE 構造体へのポインター。 |
| pEndTime | DVD_HMSF_TIMECODE* | in | 再生を停止する時刻を指定する DVD_HMSF_TIMECODE 構造体へのポインター。 |
| dwFlags | DWORD | in | コマンドの同期方法を指定する、DVD_CMD_FLAGS 列挙型の 1 つ以上のフラグのビットごとの OR。 |
| ppCmd | IDvdCmd** | out | DVD コマンドの同期に使用できる IDvdCmd オブジェクトへのポインターを受け取ります。呼び出し元はインターフェイスを解放する必要があります。このパラメーターは NULL でもかまいません。詳細については、DVD コマンドの同期 を参照してください。 |
戻り値
以下のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| UOP 制御によりこの操作は禁止されています。 | |
| 引数が無効です。 |
解説(Remarks)
実際の開始時刻と終了時刻は、DVD_HMSF_TIMECODE で指定されたフレーム番号以前の時刻になります。フレームレートコードは、pStartTime と pEndTime では無視されます。
次の表は、このメソッド名が対応する Annex J コマンド名と、このメソッドが有効なドメインを示しています。
| Annex J コマンド名 | 有効なドメイン |
| なし |
|
SetGPRM メソッドは、汎用パラメーターレジスタの値を設定します。
| ulIndex | DWORD | in | レジスタのインデックス。0 から 15 の値を指定できます。 |
| wValue | WORD | in | 指定されたレジスタに格納される 16 ビットの値。 |
| dwFlags | DWORD | in | コマンドの同期方法を指定する、DVD_CMD_FLAGS 列挙型の 1 つ以上のフラグのビットごとの OR。 |
| ppCmd | IDvdCmd** | out | DVD コマンドの同期に使用できる IDvdCmd オブジェクトへのポインターを受け取ります。呼び出し元はインターフェイスを解放する必要があります。このパラメーターは NULL でもかまいません。詳細については、DVD コマンドの同期 を参照してください。 |
戻り値
以下のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| ulIndex パラメーターが 15 を超えているか、その他の入力パラメーターが無効です。 |
解説(Remarks)
DVD ディスクは、さまざまな種類の情報を格納するために汎用パラメーターレジスタを使用します。これらのレジスタの 1 つ以上を手動で設定することで、アプリケーションは特定のカスタム機能を提供できる場合があります。これは高度なコマンドであり、DVD 仕様を十分に理解している場合を除き、使用しないでください。
次の表は、このメソッド名が対応する Annex J コマンド名と、このメソッドが有効なドメインを示しています。
| Annex J コマンド名 | 有効なドメイン |
| なし | すべて |
SelectDefaultMenuLanguage メソッドは、すべてのメニューとメニューボタンの既定言語を設定します。
| Language | DWORD | in | 既定言語を指定する LCID 型の変数。 |
戻り値
以下のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| 引数が無効です。 | |
| DVD Navigator が有効なドメインにありません。 |
解説(Remarks)
このメソッドは、ディスクの再生時にメニューで使用する既定のテキスト言語を選択します。たとえば、Language にアメリカ英語を表す 0x409 を指定すると、DVD Navigator はメニューにアメリカ英語のテキストを表示しようとします。既定のメニュー言語がディスク上で見つからない場合、DVD Navigator は最も近い一致を選択します。
次の表は、このメソッド名が対応する Annex J コマンド名と、このメソッドが有効なドメインを示しています。
| Annex J コマンド名 | 有効なドメイン |
| Menu_Language_Select | DVD_DOMAIN_Stop |
SelectDefaultAudioLanguage メソッドは、既定のオーディオ言語を設定します。
| Language | DWORD | in | 既定言語を指定するロケール識別子。 |
| audioExtension | DVD_AUDIO_LANG_EXT | in | 既定のオーディオ言語拡張を指定する DVD_AUDIO_LANG_EXT 列挙型。 |
戻り値
以下のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| audioExtension の値が無効です。 | |
| DVD Navigator フィルターが Stop ドメインにありません。 |
解説(Remarks)
このメソッドは、ディスクの再生時に使用する既定の言語と言語拡張を選択します。たとえば、Language に英語を表す 0x409 を指定し、audioExtension に DVD_AUD_EXT_NotSpecified を指定すると、DVD Navigator は英語の基本オーディオストリームを探します。audioExtension に DVD_AUD_EXT_VisuallyImpaired を指定すると、DVD Navigator はまず、低視力の人向けの英語の特別なオーディオストリームを探します。既定のストリームがディスク上で見つからない場合、DVD Navigator は最も近い一致を選択します。
次の表は、このメソッド名が対応する Annex J コマンド名と、このメソッドが有効なドメインを示しています。
| Annex J コマンド名 | 有効なドメイン |
| なし | DVD_DOMAIN_Stop |
SelectDefaultSubpictureLanguage メソッドは、サブピクチャテキストの既定言語を設定します。
| Language | DWORD | in | 既定言語を指定するロケール識別子。 |
| subpictureExtension | DVD_SUBPICTURE_LANG_EXT | in | 既定のサブピクチャ拡張を指定する DVD_SUBPICTURE_LANG_EXT 列挙型。 |
戻り値
以下のいずれかの値を返します。
| 戻り値 | 説明 |
|---|---|
| 成功しました。 | |
| Language が無効です。 | |
| DVD Navigator フィルターが有効なドメインにありません。 |
解説(Remarks)
このメソッドは、ディスクの再生時にサブピクチャとメニューで使用する既定の言語と形式を選択します。たとえば、Language にアメリカ英語を表す 0x409 を指定し、subpictureExtension に DVD_SP_EXT_Caption_Big を指定すると、DVD Navigator はサブピクチャに "大きなキャプション (big caption)" 形式でアメリカ英語のテキストを表示しようとします。既定の言語または言語拡張がディスク上で見つからない場合、DVD Navigator は最も近い一致を選択します。
次の表は、このメソッド名が対応する Annex J コマンド名と、このメソッドが有効なドメインを示しています。
| Annex J コマンド名 | 有効なドメイン |
| なし | DVD_DOMAIN_Stop |
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IDvdControl2 "{33BC7430-EEC0-11D2-8201-00A0C9D74842}" #usecom global IDvdControl2 IID_IDvdControl2 "{}" #comfunc global IDvdControl2_PlayTitle 3 int,int,sptr #comfunc global IDvdControl2_PlayChapterInTitle 4 int,int,int,sptr #comfunc global IDvdControl2_PlayAtTimeInTitle 5 int,var,int,sptr #comfunc global IDvdControl2_Stop 6 #comfunc global IDvdControl2_ReturnFromSubmenu 7 int,sptr #comfunc global IDvdControl2_PlayAtTime 8 var,int,sptr #comfunc global IDvdControl2_PlayChapter 9 int,int,sptr #comfunc global IDvdControl2_PlayPrevChapter 10 int,sptr #comfunc global IDvdControl2_ReplayChapter 11 int,sptr #comfunc global IDvdControl2_PlayNextChapter 12 int,sptr #comfunc global IDvdControl2_PlayForwards 13 double,int,sptr #comfunc global IDvdControl2_PlayBackwards 14 double,int,sptr #comfunc global IDvdControl2_ShowMenu 15 int,int,sptr #comfunc global IDvdControl2_Resume 16 int,sptr #comfunc global IDvdControl2_SelectRelativeButton 17 int #comfunc global IDvdControl2_ActivateButton 18 #comfunc global IDvdControl2_SelectButton 19 int #comfunc global IDvdControl2_SelectAndActivateButton 20 int #comfunc global IDvdControl2_StillOff 21 #comfunc global IDvdControl2_Pause 22 int #comfunc global IDvdControl2_SelectAudioStream 23 int,int,sptr #comfunc global IDvdControl2_SelectSubpictureStream 24 int,int,sptr #comfunc global IDvdControl2_SetSubpictureState 25 int,int,sptr #comfunc global IDvdControl2_SelectAngle 26 int,int,sptr #comfunc global IDvdControl2_SelectParentalLevel 27 int #comfunc global IDvdControl2_SelectParentalCountry 28 var #comfunc global IDvdControl2_SelectKaraokeAudioPresentationMode 29 int #comfunc global IDvdControl2_SelectVideoModePreference 30 int #comfunc global IDvdControl2_SetDVDDirectory 31 wstr #comfunc global IDvdControl2_ActivateAtPosition 32 int #comfunc global IDvdControl2_SelectAtPosition 33 int #comfunc global IDvdControl2_PlayChaptersAutoStop 34 int,int,int,int,sptr #comfunc global IDvdControl2_AcceptParentalLevelChange 35 int #comfunc global IDvdControl2_SetOption 36 int,int #comfunc global IDvdControl2_SetState 37 sptr,int,sptr #comfunc global IDvdControl2_PlayPeriodInTitleAutoStop 38 int,var,var,int,sptr #comfunc global IDvdControl2_SetGPRM 39 int,int,int,sptr #comfunc global IDvdControl2_SelectDefaultMenuLanguage 40 int #comfunc global IDvdControl2_SelectDefaultAudioLanguage 41 int,int #comfunc global IDvdControl2_SelectDefaultSubpictureLanguage 42 int,int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IDvdControl2 "{33BC7430-EEC0-11D2-8201-00A0C9D74842}" #usecom global IDvdControl2 IID_IDvdControl2 "{}" #comfunc global IDvdControl2_PlayTitle 3 int,int,sptr #comfunc global IDvdControl2_PlayChapterInTitle 4 int,int,int,sptr #comfunc global IDvdControl2_PlayAtTimeInTitle 5 int,sptr,int,sptr #comfunc global IDvdControl2_Stop 6 #comfunc global IDvdControl2_ReturnFromSubmenu 7 int,sptr #comfunc global IDvdControl2_PlayAtTime 8 sptr,int,sptr #comfunc global IDvdControl2_PlayChapter 9 int,int,sptr #comfunc global IDvdControl2_PlayPrevChapter 10 int,sptr #comfunc global IDvdControl2_ReplayChapter 11 int,sptr #comfunc global IDvdControl2_PlayNextChapter 12 int,sptr #comfunc global IDvdControl2_PlayForwards 13 double,int,sptr #comfunc global IDvdControl2_PlayBackwards 14 double,int,sptr #comfunc global IDvdControl2_ShowMenu 15 int,int,sptr #comfunc global IDvdControl2_Resume 16 int,sptr #comfunc global IDvdControl2_SelectRelativeButton 17 int #comfunc global IDvdControl2_ActivateButton 18 #comfunc global IDvdControl2_SelectButton 19 int #comfunc global IDvdControl2_SelectAndActivateButton 20 int #comfunc global IDvdControl2_StillOff 21 #comfunc global IDvdControl2_Pause 22 int #comfunc global IDvdControl2_SelectAudioStream 23 int,int,sptr #comfunc global IDvdControl2_SelectSubpictureStream 24 int,int,sptr #comfunc global IDvdControl2_SetSubpictureState 25 int,int,sptr #comfunc global IDvdControl2_SelectAngle 26 int,int,sptr #comfunc global IDvdControl2_SelectParentalLevel 27 int #comfunc global IDvdControl2_SelectParentalCountry 28 sptr #comfunc global IDvdControl2_SelectKaraokeAudioPresentationMode 29 int #comfunc global IDvdControl2_SelectVideoModePreference 30 int #comfunc global IDvdControl2_SetDVDDirectory 31 wstr #comfunc global IDvdControl2_ActivateAtPosition 32 int #comfunc global IDvdControl2_SelectAtPosition 33 int #comfunc global IDvdControl2_PlayChaptersAutoStop 34 int,int,int,int,sptr #comfunc global IDvdControl2_AcceptParentalLevelChange 35 int #comfunc global IDvdControl2_SetOption 36 int,int #comfunc global IDvdControl2_SetState 37 sptr,int,sptr #comfunc global IDvdControl2_PlayPeriodInTitleAutoStop 38 int,sptr,sptr,int,sptr #comfunc global IDvdControl2_SetGPRM 39 int,int,int,sptr #comfunc global IDvdControl2_SelectDefaultMenuLanguage 40 int #comfunc global IDvdControl2_SelectDefaultAudioLanguage 41 int,int #comfunc global IDvdControl2_SelectDefaultSubpictureLanguage 42 int,int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。