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
S_OK
Metode berhasil.
MF_E_REVERSE_UNSUPPORTED
Objek tidak mendukung pemutaran terbalik.
MF_E_THINNING_UNSUPPORTED
Objek tidak mendukung penipisan.
MF_E_UNSUPPORTED_RATE
Objek tidak mendukung laju pemutaran yang diminta.
MF_E_UNSUPPORTED_RATE_TRANSITION
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

Cara Mengatur Laju Pemutaran pada Sesi Media

IMFRateControl