Cara Mengontrol Status Presentasi
Sesi Media menyediakan kontrol transportasi seperti mengubah status presentasi (Putar, Jeda, dan Berhenti dalam skenario pemutaran gaya daftar putar). Topik ini menjelaskan metode Sesi Media yang harus dipanggil aplikasi untuk mengubah status pemutaran.
Tabel berikut ini memperlihatkan transisi status presentasi yang valid.
Transisi status | Deskripsi |
---|---|
Putar -> Jeda | Jam presentasi membeku. |
Putar -> Berhenti | Jam presentasi direset. |
Jeda -> Putar | Jam presentasi dilanjutkan dari waktu dibekukan selama transisi Putar ke Jeda. |
Jeda -> Berhenti | Jam presentasi direset. |
Berhenti -> Putar | Jam presentasi dimulai dari awal presentasi. |
Berhenti -> Jeda | Tidak diperbolehkan. |
Untuk mengubah status presentasi
Panggil metode IMFMediaSession::P ause untuk menjeda pemutaran.
hr = pMediaSession->Pause();
Sebelum memanggil metode ini, aplikasi harus memanggil metode IMFMediaSession::GetSessionCapabilities untuk menemukan apakah sumber media mendukung status Jeda. Jika ya, metode ini mengembalikan MFSESSIONCAP_PAUSE dalam parameter pdwCaps .
Jeda sementara menghentikan Sesi Media, jam presentasi, dan sink aliran untuk presentasi saat ini. Setelah panggilan berhasil diselesaikan, aplikasi menerima peristiwa MESessionPaused .
Panggil metode IMFMediaSession::Stop untuk menghentikan pemutaran.
hr = pMediaSession->Stop();
Metode ini menghentikan Sesi Media dengan menghentikan sumber media, jam yang sesuai, dan streaming sink. Jika Sesi Media mengontrol Sumber Pengurut, sumber asli yang mendasar dihentikan oleh sumber pengurut. Setelah Sesi Media dihentikan, aplikasi menerima peristiwa MESessionStopped .
Panggil metode IMFMediaSession::Start untuk memulai pemutaran atau cari posisi baru.
hr = pMediaSession->Start(NULL, &var);
Metode ini memulai Sesi Media dari status Jeda dan Hentikan. Sesi Media bertanggung jawab untuk menyiapkan aliran data dalam alur. Metode ini menginstruksikan Sesi Media untuk memulai jam presentasi. Setelah panggilan ini, Sesi Media mengirimkan peristiwa MESessionStarted ke aplikasi.
Topik terkait