Metode IAMStreamConfig::GetStreamCaps (strmif.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 GetStreamCaps mengambil serangkaian kemampuan format.
Sintaks
HRESULT GetStreamCaps(
[in] int iIndex,
[out] AM_MEDIA_TYPE **ppmt,
[out] BYTE *pSCC
);
Parameter
[in] iIndex
Menentukan kemampuan format untuk diambil, diindeks dari nol. Untuk menentukan jumlah kemampuan yang didukung pin, panggil metode IAMStreamConfig::GetNumberOfCapabilities .
[out] ppmt
Alamat penunjuk ke struktur AM_MEDIA_TYPE . Metode ini mengalokasikan struktur dan mengisinya dengan jenis media.
[out] pSCC
Penunjuk ke array byte yang dialokasikan oleh pemanggil. Untuk video, gunakan struktur VIDEO_STREAM_CONFIG_CAPS (lihat Keterangan). Untuk audio, gunakan struktur AUDIO_STREAM_CONFIG_CAPS . Untuk menentukan ukuran array yang diperlukan, panggil metode GetNumberOfCapabilities . Ukuran dikembalikan dalam parameter piSize .
Nilai kembali
Mengembalikan nilai HRESULT . Nilai yang mungkin termasuk yang berikut ini.
Menampilkan kode | Deskripsi |
---|---|
|
Indeks yang ditentukan terlalu tinggi. |
|
Berhasil. |
|
Indeks tidak valid. |
|
Memori tidak cukup. |
|
Nilai pointer NULL. |
|
Pin input tidak tersambung. |
Keterangan
Metode ini mengembalikan dua informasi:
- Parameter pmt menerima struktur AM_MEDIA_TYPE yang diisi, yang menjelaskan satu format output yang didukung.
- Parameter pSCC menerima struktur yang berisi informasi format tambahan. Untuk video, pSCC menerima struktur VIDEO_STREAM_CONFIG_CAPS . Untuk audio, ia menerima struktur AUDIO_STREAM_CONFIG_CAPS .
Sebelum memanggil SetFormat, Anda dapat mengubah struktur AM_MEDIA_TYPE dalam pmt, menggunakan informasi di pSCC. Misalnya, pin audio mungkin mengembalikan jenis media default 44-kHz, stereo 16-bit dalam parameter pmt . Berdasarkan nilai yang dikembalikan dalam struktur AUDIO_STREAM_CONFIG_CAPS , Anda mungkin mengubah format ini menjadi mono 8-bit sebelum memanggil SetFormat.
Metode ini mengalokasikan memori untuk struktur AM_MEDIA_TYPE yang dikembalikan dalam parameter pmt . Pemanggil harus melepaskan memori, termasuk blok format. Anda dapat menggunakan fungsi pembantu DeleteMediaType di pustaka kelas dasar. Pemanggil harus mengalokasikan memori untuk parameter pSCC .
Pada beberapa filter kompresi, metode ini gagal jika pin input filter tidak tersambung.
Pengembang Filter: Untuk informasi selengkapnya tentang menerapkan metode ini, lihat Mengekspos Format Pengambilan dan Pemadatan.
Contoh
Contoh berikut mengambil format pertama yang didukung (indeks nol) pada pin output video lalu mengatur format ini pada pin.
C++ |
---|
int iCount, iSize; BYTE *pSCC = NULL; AM_MEDIA_TYPE *pmt; |
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 2000 Professional [hanya aplikasi desktop] |
Server minimum yang didukung | Windows 2000 Server [hanya aplikasi desktop] |
Target Platform | Windows |
Header | strmif.h (termasuk Dshow.h) |
Pustaka | Strmiids.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