共用方式為


關於 Sequencer 來源

排序器來源可讓應用程式循序播放 媒體來源 集合,在來源之間順暢地轉換。 排序器來源可用於下列案例:

  • 建立可順暢地從一個媒體來源切換至下一個媒體來源的播放清單。
  • 同時播放來自多個來源的資料流程;例如,使用來自另一個檔案的視訊播放音訊。
  • 在連續播放清單專案中不同媒體來源的串流之間切換;例如,播放清單可以有共用相同視訊來源的專案,而每個專案都包含不同的音訊來源。

針對播放清單的每個元素,應用程式會建立個別的拓撲。 這些拓撲中的媒體來源稱為 原生來源,以區別它們與排序器來源。 在播放期間,整個拓撲序列稱為 簡報,而序列中的每個拓撲稱為區

播放是由 媒體會話控制,可提供傳輸控制項,例如播放、暫停和停止。 媒體會話也會管理簡報時間,並將事件傳送至應用程式。 (來自排序器來源的事件會透過媒體會話轉送至應用程式。)

若要建立播放清單,應用程式會建立一或多個播放拓撲,並以所需的播放順序,將它們排入排序器來源上。 在內部,排序器來源會修改拓撲,讓來源節點指向排序器來源,而不是原生來源。 應用程式會將這些修改過的拓撲,而不是原始拓撲傳送至媒體會話。 這可讓排序器來源匯總原生來源,並與媒體會話通訊。

為了在區段之間達到順暢的轉換,排序器來源會預先註冊每個區段。 當一個區段現正播放,而且在播放下列區段之前,排序器來源會引發包含簡報描述元的 MENewPresentation 事件。 應用程式會使用此簡報描述項來取得簡報中下一個區段的拓撲,並將媒體會話上的拓撲排入佇列。

下圖顯示透過排序器來源的播放清單專案資料流程。 應用程式會使用來源解析程式來建立原生來源、建置每個區段的拓撲,並將排序器來源上的拓撲排入佇列。

diagram showing data flow from imfmediasession, imfsequencersource, and playlist segments leading to imfmediasource

如何建立播放清單

拓撲

使用 Sequencer 來源

Sequencer 來源