IMediaControl::Jalankan metode (control.h)
[Fitur yang terkait dengan halaman ini, DirectShow, adalah fitur warisan. Ini telah digantikan oleh MediaPlayer, IMFMediaEngine, dan Pengambilan Audio/Video di Media Foundation. Fitur-fitur tersebut telah dioptimalkan untuk Windows 10 dan Windows 11. Microsoft sangat menyarankan agar kode baru menggunakan MediaPlayer, IMFMediaEngine , dan Pengambilan Audio/Video di Media Foundation alih-alih DirectShow, jika memungkinkan. Microsoft menyarankan agar kode yang ada yang menggunakan API warisan ditulis ulang untuk menggunakan API baru jika memungkinkan.]
Metode Run
ini menjalankan semua filter dalam grafik filter. Saat grafik berjalan, data bergerak melalui grafik dan dirender.
Sintaks
HRESULT Run();
Mengembalikan nilai
Mengembalikan nilai HRESULT . Nilai yang mungkin termasuk yang berikut ini.
Menampilkan kode | Deskripsi |
---|---|
|
Grafik sedang bersiap untuk dijalankan, tetapi beberapa filter belum menyelesaikan transisi ke status berjalan. |
|
Semua filter dalam grafik menyelesaikan transisi ke status berjalan. |
Keterangan
Jika grafik filter dihentikan, metode ini menjeda grafik sebelum berjalan. Jika grafik sudah berjalan, metode mengembalikan S_OK tetapi tidak berpengaruh.
Grafik berjalan hingga aplikasi memanggil metode IMediaControl::P ause atau IMediaControl::Stop . Saat pemutaran mencapai akhir aliran, grafik terus berjalan, tetapi filter tidak mengalirkan data lagi. Pada saat itu, aplikasi dapat menjeda atau menghentikan grafik. Untuk informasi tentang peristiwa akhir aliran, lihat IMediaControl::P ause dan EC_COMPLETE.
Metode ini tidak mencari ke awal aliran. Oleh karena itu, jika Anda menjalankan grafik, jeda, lalu jalankan lagi, pemutaran dilanjutkan dari posisi dijeda. Jika Anda menjalankan grafik setelah mencapai akhir aliran, tidak ada yang dirender. Untuk mencari grafik, gunakan antarmuka IMediaSeeking .
Jika metode mengembalikan S_FALSE, itu berarti bahwa metode dikembalikan sebelum semua filter beralih ke status berjalan. Filter akan menyelesaikan transisi setelah metode kembali. Secara opsional, Anda dapat menunggu transisi selesai dengan memanggil metode IMediaControl::GetState dengan nilai batas waktu. Namun, ini tidak diperlukan.
Jika metode Jalankan mengembalikan kode kesalahan, itu berarti satu atau beberapa filter gagal dijalankan. Namun, beberapa filter mungkin dalam keadaan berjalan. Dalam grafik multi-aliran, seluruh aliran mungkin berhasil diputar. Biasanya aplikasi akan meruntuhkan grafik dan melaporkan kesalahan dalam kasus ini.
Persyaratan
Klien minimum yang didukung | Windows 2000 Professional [hanya aplikasi desktop] |
Server minimum yang didukung | Windows 2000 Server [hanya aplikasi desktop] |
Target Platform | Windows |
Header | control.h (termasuk Dshow.h) |
Pustaka | Strmiids.lib |