Informationen zur Mediensitzung

Die Mediensitzung macht die INTERFACESMediaSession-Schnittstelle verfügbar. Es gibt zwei Möglichkeiten, die Mediensitzung zu erstellen, je nachdem, ob Ihre Anwendung geschützte Inhalte unterstützt:

  • Wenn Ihre Anwendung keine geschützten Inhalte unterstützt, können Sie die Mediensitzung erstellen, indem Sie MFCreateMediaSessionaufrufen. Diese Funktion erstellt die Mediensitzung innerhalb des Anwendungsprozesses.
  • Um geschützte Inhalte zu unterstützen, erstellen Sie die Mediensitzung, indem Sie MFCreatePMPMediaSessionaufrufen. Diese Funktion erstellt die Mediensitzung innerhalb des PMP-Prozesses (Protected Media Path). Die Anwendung empfängt einen Zeiger auf ein Proxyobjekt, das Methodenaufrufe über die Prozessgrenze marshallt. Beachten Sie, dass die PMP-Mediensitzung verwendet werden kann, um sowohl klare Inhalte als auch geschützte Inhalte wiederzuspielen.

Jede Anwendung, die die Mediensitzung verwendet, führt die folgenden allgemeinen Schritte aus:

  1. Erstellen Sie eine Topologie.
  2. Stellen Sie die Topologie in der Mediensitzung in die Warteschlange, indem Sie DEN AUFRUF VONMEDIASESSION::SetTopologyaufrufen.
  3. Steuern Sie den Datenfluss, indem Sie ÜBERMEDIASESSION::Start, ÜBERMEDIASESSION::P auseoder ÜBERMEDIASESSION::Stopaufrufen.
  4. Rufen Sie VOR dem Beenden der Anwendung DIE DATEI "WFMediaSession::Close" auf, um die Mediensitzung zu schließen.
  5. Fahren Sie alle Medienquellen herunter, die von der Anwendung erstellt wurden, indem Sie DEN AUFRUF VONMEDIASOURCE::Shutdownaufrufen.
  6. Fahren Sie die Mediensitzung herunter, indem Sie DEN AUFRUF VONMEDIASESSION::Shutdown aufrufen.

Bei Verwendung der Mediensitzung sollte die Anwendung die Medienquelle nicht direkt starten, anhalten oder beenden. Alle Zustandsänderungen müssen durch aufrufende METHODEN VONMEDIASESSION initiiert werden. Zustandsänderungen in der Medienquelle werden von der Mediensitzung behandelt.

Viele weitere Details hängen von der spezifischen Funktionalität Ihrer Anwendung ab.

Geschützter Inhalt

Um geschützten Inhalt wiederzugeben, müssen Sie die Mediensitzung innerhalb des Pfads für geschützte Medien (PMP) erstellen, indem Sie MFCreatePMPMediaSessionaufrufen. Diese Funktion erstellt eine Instanz der Mediensitzung innerhalb des PMP und gibt einen Zeiger auf ein Proxyobjekt zurück, das Schnittstellen über die Prozessgrenze marshallt.

In den meisten Punkten ist die Verwendung der Mediensitzung innerhalb des PMP für die Anwendung transparent. Möglicherweise muss die Anwendung jedoch bestimmte Aktionen aufrufen, die es dem Benutzer ermöglichen, den Inhalt wiederzuspielen. Beispielsweise muss der Benutzer möglicherweise eine DRM-Lizenz erwerben. Media Foundation definiert einen generischen Mechanismus für diese Aktionen mithilfe der INTERFACESContentEnabler-Schnittstelle.

Weitere Informationen finden Sie in den folgenden Themen:

Präsentationsuhr

Die Mediensitzung verwaltet alle Aspekte der Präsentationsuhr:

  • Erstellen der Präsentationsuhr.

  • Auswählen der Zeitquelle.

  • Benachrichtigen der Mediensenken über die Uhr

  • Starten, Beenden und Anhalten der Uhr nach Bedarf.

  • Herunterfahren der Uhr.

Rufen Sie ZUM Abrufen eines Zeigers auf die Präsentationsuhr IN DER MEDIENSITZUNG DEN AUFRUF VONMEDIASESSION::GetClock auf. Die Präsentationsuhr gibt keine gültige Zeit zurück, bis die Mediensitzung das MESessionTopologyStatus-Ereignis mit dem _ MF TOPOSTATUS _ READY-Flag sendet. Bis dahin gibt GetClock MF _ E CLOCK NO TIME SOURCE _ _ _ _ zurück.

Eine Anwendung, die die Mediensitzung verwendet, sollte die Präsentationsuhr nie starten, beenden oder anhalten. ändern Sie die Taktrate. oder die Uhr herunterfahren.

Wenn die Anwendung DANNMEDIASession::Startaufruft, startet die Mediensitzung die Präsentationsuhr mit einer Startzeit, die der in der Startmethode angegebenen Startposition entspricht. Weitere Informationen zur Mediensitzung finden Sie unter Mediensitzung.

Mediensitzung