Freigeben über


Mediensitzungsereignisse

Die meisten Vorgänge der Mediensitzung werden asynchron ausgeführt, sodass die Anwendung ereignisse mithilfe der IMFMediaEventGenerator Schnittstelle der Mediensitzung überwachen muss. (Die IMFMediaSession Schnittstelle erbt IMFMediaEventGenerator.) Die genaue Abfolge von Ereignissen hängt von Ihrer Anwendung ab, aber die folgenden Ereignisse werden von der Mediensitzung in fast jeder Situation ausgelöst.

Ereignis Beschreibung
MEEndOfPresentation Wird ausgelöst, wenn die Medienquelle die Präsentation abgeschlossen hat. Daten werden derzeit möglicherweise noch durch die Pipeline verschoben.
MEError- Wird ausgelöst, wenn während des Streamings ein Fehler auftritt.
MESessionClosed Wird ausgelöst, wenn die Close-Methode abgeschlossen ist. Dieses Ereignis ist das letzte Ereignis, das die Mediensitzungswarteschlangen angibt. Nachdem Sie dieses Ereignis erhalten haben, ist es sicher, alle von Ihnen erstellten Medienquellen herunterzufahren.
MESessionEnded Wird ausgelöst, wenn die Mediensitzung mit der letzten Präsentation abgeschlossen ist.
MESessionNotifyPresentationTime Benachrichtigt die Anwendung der Präsentationszeit, zu der die neue Präsentation gestartet wird.
MESessionStarted Wird ausgelöst, wenn die Start-Methode abgeschlossen ist. Sofern kein Fehler aufgetreten ist, werden die Daten an diesem Punkt durch die Pipeline verschoben.
MESessionTopologySet- Wird ausgelöst, wenn die SetTopology--Methode abgeschlossen ist. Sofern kein Fehler auftritt, muss die Anwendung keine Maßnahmen ergreifen.
MESessionTopologyStatus- Wird zu verschiedenen Zeiten ausgelöst, wenn sich der Status einer Topologie ändert.

 

Die IMFMediaSession::Shutdown-Methode löst kein Ereignis aus. Die Shutdown-Methode ist synchron. Nachdem diese Methode zurückgegeben wurde, ist es sicher, den Ereignisrückrufzeiger freizugeben.

Zusätzlich zu Ereignissen aus der Mediensitzung kann die Anwendung Ereignisse von den Mediensenken in der Topologie empfangen. Diese können benutzerdefinierte Ereignisse sein, die durch die Mediensenke definiert werden, die beliebige Daten enthalten können. Beispielsweise kann die Spüle die Ereignisdaten von den Quelldaten ableiten, die von einer nicht vertrauenswürdigen externen Quelle stammen können. Eine Anwendung sollte alle Ereignisse ignorieren, die nicht erkannt werden, und beim Analysieren von Ereignisdaten Vorsicht walten lassen.

Mediensitzung