Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Membaca sampel berikutnya dari sumber media.
Syntax
HRESULT ReadSample(
[in] DWORD dwStreamIndex,
[in] DWORD dwControlFlags,
[out] DWORD *pdwActualStreamIndex,
[out] DWORD *pdwStreamFlags,
[out] LONGLONG *pllTimestamp,
[out] IMFSample **ppSample
);
Parameter-parameternya
[in] dwStreamIndex
Aliran untuk menarik data dari. Nilainya bisa salah satu dari yang berikut ini.
[in] dwControlFlags
Bitwise ATAU nol atau lebih bendera dari enumerasi MF_SOURCE_READER_CONTROL_FLAG .
[out] pdwActualStreamIndex
Menerima indeks aliran berbasis nol.
[out] pdwStreamFlags
Menerima bitwise ATAU nol atau lebih bendera dari enumerasi MF_SOURCE_READER_FLAG .
[out] pllTimestamp
Menerima stempel waktu sampel, atau waktu peristiwa streaming yang ditunjukkan dalam pdwStreamFlags. Waktu diberikan dalam 100 unit nanodetik.
[out] ppSample
Menerima penunjuk ke antarmuka IMFSample atau nilai NULL (lihat Komentar). Jika parameter ini menerima penunjuk non-NULL , pemanggil harus merilis antarmuka.
Mengembalikan nilai
Metode mengembalikan HRESULT. Nilai yang mungkin termasuk, tetapi tidak terbatas pada, yang ada dalam tabel berikut.
| Mengembalikan kode | Description |
|---|---|
|
Metode berhasil. |
|
Permintaan tidak valid. |
|
Parameter dwStreamIndex tidak valid. |
|
Operasi flush tertunda. Lihat IMFSourceReader::Flush. |
|
Argumen tidak valid. Lihat Komentar. |
Komentar
Jika aliran yang diminta tidak dipilih, kode pengembalian MF_E_INVALIDREQUEST. Lihat IMFSourceReader::SetStreamSelection.
Metode ini dapat diselesaikan secara sinkron atau asinkron. Jika Anda memberikan penunjuk panggilan balik saat membuat pembaca sumber, metode ini asinkron. Jika tidak, metode ini sinkron. Untuk informasi selengkapnya tentang mengatur penunjuk panggilan balik, lihat MF_SOURCE_READER_ASYNC_CALLBACK.
Mode Asinkron
Dalam mode asinkron:-
[out]Semua parameter harus NULL. Jika tidak, metode mengembalikan E_INVALIDARG. - Metode ini segera kembali.
- Ketika operasi selesai, metode IMFSourceReaderCallback::OnReadSample aplikasi dipanggil.
- Jika terjadi kesalahan, metode dapat gagal baik secara sinkron atau asinkron. Periksa nilai pengembalian ReadSample, dan periksa juga parameter hrStatusIMFSourceReaderCallback::OnReadSample.
Mode Sinkron
Dalam mode sinkron:- Parameter pdwStreamFlags dan ppSample tidak boleh NULL. Jika tidak, metode mengembalikan E_POINTER.
- Parameter pdwActualStreamIndex dan pllTimestamp dapat berupa NULL.
- Metode memblokir hingga sampel berikutnya tersedia.
Metode ini dapat mengembalikan bendera dalam parameter pdwStreamFlags tanpa mengembalikan sampel media di ppSample. Oleh karena itu, parameter ppSample dapat menerima pointer NULL bahkan ketika metode berhasil. Misalnya, ketika pembaca sumber mencapai akhir aliran, ia mengembalikan bendera MF_SOURCE_READERF_ENDOFSTREAM di pdwStreamFlags dan mengatur ppSample ke NULL.
Jika ada celah dalam aliran, pdwStreamFlags menerima bendera MF_SOURCE_READERF_STREAMTICK, ppSample adalah NULL, dan pllTimestamp menunjukkan waktu ketika celah terjadi.
Antarmuka ini tersedia di Windows Vista jika Suplemen Pembaruan Platform untuk Windows Vista diinstal.
Persyaratan
| Persyaratan | Nilai |
|---|---|
| Klien minimum yang didukung | Windows 7, Windows Vista, dan Platform Update Supplement untuk Windows Vista [aplikasi desktop | Aplikasi UWP] |
| Server minimum yang didukung | Windows Server 2008 R2 [aplikasi desktop | Aplikasi UWP] |
| Platform Target | Windows |
| Header | mfreadwrite.h |