IAMTimecodeReader::GetTimecode メソッド (strmif.h)
[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayer、IMFMediaEngine、および Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayer、IMFMediaEngine、Audio/Video Capture を使用することを強くお勧めします。 Microsoft は、従来の API を使用する既存のコードを、可能であれば新しい API を使用するように書き直すよう提案しています。]
メソッドは GetTimecode
、ストリームで使用できる最新のタイムコード、ユーザービット、フラグの値を取得します。
構文
HRESULT GetTimecode(
[out] PTIMECODE_SAMPLE pTimecodeSample
);
パラメーター
[out] pTimecodeSample
TIMECODE_SAMPLE構造体へのポインター。
戻り値
インターフェイスの実装に依存する HRESULT 値を返します。
注釈
タイムコードを監視し、重複と不連続を解析するには、このメソッドを使用します。
タイムコードには、 userbits と呼ばれる未定義のビットが含まれています。 アプリケーションでは、これらのビットを使用して同期情報やその他のカスタム情報を格納できます。
DV および MPEG ビデオカメラの実装
MSDV ドライバーは、SMPTE タイムコードまたは絶対トラック番号 (ATN) の読み取りをサポートしています。 MSTape ドライバーは、相対タイム カウンター (RTC) の読み取りをサポートしています。 これらのデバイスの時刻情報を読み取る場合は、次の操作を行います。TIMECODE_SAMPLE構造体の dwFlags メンバーを次のいずれかの値に設定します。
常時 | 説明 |
---|---|
ED_DEVCAP_TIMECODE_READ | タイムコード (DV) |
ED_DEVCAP_ATN_READ | 絶対トラック番号 (DV) |
ED_DEVCAP_RTC_READ | 相対タイム カウンター (MPEG テープ) |
TIMECODE_SAMPLE 構造体のタイムコード メンバーは TIMECODE 構造体です。 その構造体の dwFrames メンバーを 0 に初期化します。
その他のすべての構造体メンバーは無視されます。
メソッドから制御が戻ると、 dwFrames メンバーには次の形式の時刻情報が含まれます。
時刻情報 | フォーマット |
---|---|
タイムコード | 時間、分、秒、フレーム。バイナリ コード化された 10 進 (BCD) 値として 0xhhmmssff。 |
Atn | トラック番号。 |
RTC | 時間、分、秒、フレーム(BCD 値: 0xhhmmssff)。 フレーム バイトの最上位ビットは符号ビットです。 フレーム数が使用できない場合、残りのフレーム ビットは0x7Fに設定されます。 |
また、 dwUser メンバーは、次のいずれかの値を持つ 空のフラグ ビットをデバイスから受け取ります。
値 | 説明 |
---|---|
0x00 | 不連続ではありません。 |
0x01 | 不連続。 |
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | strmif.h (Dshow.h を含む) |
Library | Strmiids.lib |