Metode IMFRateControl::SetRate (mfidl.h)
Mengatur laju pemutaran.
Sintaks
HRESULT SetRate(
[in] BOOL fThin,
[in] float flRate
);
Parameter
[in] fThin
Jika TRUE, aliran media ditipiskan. Jika tidak, aliran tidak ditipiskan. Untuk sumber media dan demultiplexers, objek harus menipiskan aliran ketika parameter ini TRUE. Untuk transformasi hilir, seperti dekoder dan multiplexer, parameter ini informatif; ini memberi tahu objek bahwa aliran input ditipiskan. Untuk informasi, lihat Tentang Kontrol Tarif.
[in] flRate
Laju pemutaran yang diminta. Nilai positif menunjukkan pemutaran maju, nilai negatif menunjukkan pemutaran terbalik, dan nol menunjukkan scrubbing (sumber memberikan satu bingkai).
Nilai kembali
Metode mengembalikan HRESULT. Nilai yang mungkin termasuk, tetapi tidak terbatas pada, yang ada dalam tabel berikut.
Menampilkan kode | Deskripsi |
---|---|
|
Metode berhasil. |
|
Objek tidak mendukung pemutaran terbalik. |
|
Objek tidak mendukung penipisan. |
|
Objek tidak mendukung laju pemutaran yang diminta. |
|
Objek tidak dapat berubah ke laju baru saat dalam status berjalan. |
Keterangan
Sesi Media mencegah beberapa transisi antar batas laju, tergantung pada status pemutaran saat ini:
Status Pemutaran | Maju/Mundur | Maju/Nol | Balik/Nol |
---|---|---|---|
Berjalan | Tidak | Tidak | Tidak |
Berhenti | Tidak | Ya | Tidak |
Dihentikan | Ya | Ya | Ya |
Jika transisi tidak didukung, metode mengembalikan MF_E_UNSUPPORTED_RATE_TRANSITION.
Saat sumber media menyelesaikan panggilan ke SetRate, sumber media mengirimkan peristiwa MESourceRateChanged . Komponen alur lain tidak mengirim kejadian ini.
Jika sumber media beralih antara pemutaran yang ditipiskan dan tidak ditipiskan, aliran mengirim peristiwa MEStreamThinMode untuk menunjukkan transisi. Peristiwa dari sumber media tidak disinkronkan dengan peristiwa dari aliran media. Setelah menerima peristiwa MESourceRateChanged , Anda masih dapat menerima sampel yang diantrekan sebelum streaming dialihkan ke mode yang ditipiskan atau tidak ditipiskan. Peristiwa MEStreamThinMode menandai titik yang tepat dalam aliran tempat transisi terjadi.
Ketika Sesi Media menyelesaikan panggilan ke SetRate, Sesi Media mengirimkan peristiwa MESessionRateChanged .
Persyaratan
Klien minimum yang didukung | Windows Vista [aplikasi desktop | Aplikasi UWP] |
Server minimum yang didukung | Windows Server 2008 [aplikasi desktop | Aplikasi UWP] |
Target Platform | Windows |
Header | mfidl.h |
Pustaka | Mfuuid.lib |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk