Media Sessionshändelser
De flesta av mediasessionens åtgärder utförs asynkront, så programmet måste lyssna efter händelser med hjälp av mediasessionens IMFMediaEventGenerator- gränssnitt. (Gränssnittet IMFMediaSession ärver IMFMediaEventGenerator.) Den exakta sekvensen av händelser beror på ditt program, men följande händelser genereras av mediasessionen i nästan alla situationer.
Händelse | Beskrivning |
---|---|
MEEndOfPresentation | Utlöses när mediekällan har slutfört presentationen. Data kan fortfarande flyttas genom pipelinen just nu. |
MEError | Utlöses om ett fel inträffar under strömning. |
MESessionClosed | Utlöses när metoden Stäng slutförs. Den här händelsen är den sista händelsen som mediasessionen köar. När du har fått den här händelsen är det säkert att stänga av alla mediekällor som du har skapat. |
MESessionEnded | Upphöjt när mediasessionen är klar med den senaste presentationen. |
MESessionNotifyPresentationTime | Meddelar programmet om presentationstiden när den nya presentationen startas. |
MESessionStarted | Utlöses när metoden Starta slutförs. Om det inte uppstod ett fel flyttas data genom pipelinen just nu. |
MESessionTopologySet | Utlöses när metoden SetTopology slutförs. Om inget fel inträffar behöver programmet inte vidta några åtgärder. |
MESessionTopologyStatus | Upphöjt vid olika tidpunkter när statusen för en topologi ändras. |
Metoden IMFMediaSession::Shutdown skapar ingen händelse. Metoden Shutdown är synkron. När den här metoden har returnerats är det säkert att släppa pekaren för händelseåteranrop.
Förutom händelser från mediasessionen kan programmet ta emot händelser från mediemottagare i topologin. Dessa kan vara anpassade händelser som definieras av mediemottagaren, som kan innehålla godtyckliga data. Mottagaren kan till exempel härleda händelsedata från källdata, som kan komma från en extern källa som inte är betrodd. Ett program bör ignorera alla händelser som det inte känner igen och vara försiktig när händelsedata parsas.
Relaterade ämnen