共用方式為


使用非同步讀取器搜尋 SMPTE 時間程式碼

[與此頁面相關聯的功能 Windows Media Format 11 SDK是舊版功能。 來源讀取器和接收寫入器已取代它。 來源讀取器和接收寫入器已針對Windows 10和Windows 11進行優化。 Microsoft 強烈建議新程式碼盡可能使用來源讀取器和接收寫入器,而不是Windows 媒體格式 11 SDK。 Microsoft 建議使用舊版 API 的現有程式碼盡可能重寫為使用新的 API。

讀取器物件可以根據與視訊串流相關聯的 SMPTE 時間程式碼,搜尋檔案中的某個點。 時間程式碼資料會封裝在連結至影片範例做為資料單位延伸 的WMT_TIMECODE_EXTENSION_DATA 結構中。

SMPTE 時間代碼是由範圍和該範圍內的時間代碼所定義。 範圍是連續的時間代碼序列。 每次程式碼都是以小時、分鐘、秒和畫面格來定義。

若要使用非同步讀取器依 SMPTE 時間程式碼搜尋 ASF 檔案中的資料,請執行下列步驟。

  1. 呼叫IWMReader::QueryInterface,以取得讀取器物件的IWMReaderAdvanced3介面指標。
  2. 呼叫 IWMReaderAdvanced3::StartAtPosition來設定開始時間程式碼和持續時間。 您必須指定依時間程式碼編制索引之視訊資料流程的資料流程編號。 讀取器會將其餘輸出同步處理至指定資料流程之指定框架的呈現時間,並開始傳遞輸出範例。
  3. 處理範例,如同您在 IWMReaderCallback::OnSample 方法的實作中一樣。

使用非同步讀取器讀取檔案

使用索引

SMPTE 時間代碼支援