CRefTime 類別
[與此頁面相關的功能 DirectShow是舊版功能。 它已被 MediaPlayer、 IMFMediaEngine和 Media Foundation 中的音訊/視訊擷取取代。 這些功能已針對Windows 10和Windows 11進行優化。 Microsoft 強烈建議新程式碼盡可能使用 MediaPlayer、 IMFMediaEngine 和 音訊/視訊擷取 ,而不是 DirectShow。 Microsoft 建議使用舊版 API 的現有程式碼盡可能重寫為使用新的 API。
類別 CRefTime
是用來管理參考時間的協助程式類別。
參考時間是以 100 奈秒單位表示的時間單位。 這個類別會共用與 REFERENCE_TIME 資料類型相同的資料配置,但會新增一些提供比較、轉換和算術函數的方法和運算子。 如需參考時間的詳細資訊,請參閱 DirectShow 中的時間和時鐘。
公用成員變數 | Description |
---|---|
m_time | 指定 REFERENCE_TIME 值。 |
公用方法 | Description |
CRefTime | 建構函式方法。 |
GetUnits | 擷取 100 奈秒單位的參考時間。 |
Millisecs | 將參考時間轉換為毫秒。 |
運算子 | 說明 |
operator REFERENCE_TIME () | 將 物件轉換成 REFERENCE_TIME 資料類型。 |
operator= | 指派新的參考時間。 |
operator+= | 加入兩個參考時間。 |
operator = | 從另一個參考時間減去一個參考時間。 |
備註
使用這個類別可能會發生錯誤。 如果您將具有 CRefTime 物件的 += 運算子套用為左運算元,並將 LONG 類型的變數套用為右運算元,編譯器會隱含地將右運算元強制轉換成 CRefTime 物件。 這個強制型轉會使用 CRefTime 建構函式,將毫秒轉換成REFERENCE_TIME單位;因此,右運算元乘以 10,000:
CRefTime rt; // rt.m_time is 0.
LONG val = 20;
rt += val; // Coerce val to CRefTime, rt.m_time is now 200,000.
不過,相同的動作不會使用 + 運算子發生:
CRefTime rt; // rt.m_time is 0.
LONG val = 20;
rt = rt + val; // CRefTime, rt.m_time is 20.
規格需求
需求 | 值 |
---|---|
標頭 |
|
程式庫 |
|