搭配媒體會話使用媒體來源
如果您使用媒體會話來控制播放,您應該在媒體來源上呼叫的方法集合會受到限制。 本節說明如何搭配媒體會話使用媒體來源。
以下是應用程式將執行的基本步驟:
建立媒體來源。 若要建立媒體來源,請使用來源解析程式。 如需詳細資訊,請參閱 來源解析程式。 來源解析程式會傳回來源 之 IMFMediaSource 介面的指標。 (如果您已撰寫自訂媒體來源,您可以改為提供自訂建立方法。)
設定簡報。 若要設定來源的簡報,請呼叫 IMFMediaSource::CreatePresentationDescriptor。 您可以修改此複本,但在播放開始之前,變更不會變成作用中。 播放期間請勿修改簡報描述項。 如需詳細資訊,請參閱 簡報描述元。
建立包含媒體來源的拓撲。 如需詳細資訊,請參閱 拓撲。
使用媒體會話來控制播放。 媒體會話會在媒體來源上呼叫方法。 應用程式目前不應該在媒體來源上呼叫任何方法。
在釋放媒體來源之前,請先呼叫 IMFMediaSource::Shutdown 以關閉來源。
注意
如果您使用排序器來源,則排序器來源會處理關閉區段來源。 如需詳細資訊,請參閱 Sequencer 來源。
如果您使用媒體會話,您應該在媒體來源上呼叫的唯一方法是 CreatePresentationDescriptor、 GetCharacteristics和 Shutdown。 尤其是:
請勿呼叫任何 IMFMediaStream 方法。
請勿直接從媒體來源或任何資料流程擷取事件。 媒體會話必須接收這些事件,管線才能正常運作。 媒體會話會轉送應用程式所需的任何事件。
相關主題