Peristiwa Sesi Media

Sebagian besar operasi Sesi Media dilakukan secara asinkron, sehingga aplikasi harus mendengarkan peristiwa dengan menggunakan antarmuka IMFMediaEventGenerator Sesi Media. (Antarmuka IMFMediaSession mewarisi IMFMediaEventGenerator.) Urutan peristiwa yang tepat akan bergantung pada aplikasi Anda, tetapi peristiwa berikut dimunculkan oleh Sesi Media dalam hampir semua situasi.

Kejadian Deskripsi
MEEndOfPresentation Dimunculkan ketika sumber media telah menyelesaikan presentasi. Data mungkin masih bergerak melalui alur saat ini.
MEError Muncul jika terjadi kesalahan selama streaming.
MESessionClosed Dimunculkan ketika metode Tutup selesai. Kejadian ini adalah kejadian terakhir yang diantrekan Sesi Media. Setelah Anda menerima kejadian ini, aman untuk mematikan sumber media apa pun yang Anda buat.
MESessionEnded Dimunculkan ketika Sesi Media selesai dengan presentasi terakhir.
MESessionNotifyPresentationTime Memberi tahu aplikasi waktu presentasi ketika presentasi baru akan dimulai.
MESessionStarted Dimunculkan ketika metode Mulai selesai. Kecuali terjadi kesalahan, data bergerak melalui alur pada saat ini.
MESessionTopologySet Dimunculkan ketika metode SetTopology selesai. Kecuali terjadi kesalahan, aplikasi tidak perlu mengambil tindakan apa pun.
MESessionTopologyStatus Dimunculkan pada berbagai waktu ketika status topologi berubah.

 

Metode IMFMediaSession::Shutdown tidak menaikkan peristiwa. Metode Matikan sinkron. Setelah metode ini kembali, aman untuk merilis pointer panggilan balik peristiwa Anda.

Selain peristiwa dari Sesi Media, aplikasi mungkin menerima peristiwa dari sink media dalam topologi. Ini dapat menjadi peristiwa kustom yang ditentukan oleh sink media, yang mungkin berisi data arbitrer. Misalnya, sink mungkin memperoleh data peristiwa dari data sumber, yang dapat berasal dari sumber eksternal yang tidak tepercaya. Aplikasi harus mengabaikan peristiwa apa pun yang tidak dikenalinya, dan berhati-hatilah saat mengurai data peristiwa.

Sesi Media