Bagikan melalui


MultiSourceMediaFrameReader.TryAcquireLatestFrame Metode

Definisi

Mencoba untuk mendapatkan objek MultiSourceMediaFrameReference yang menyediakan akses ke bingkai berkorelasi waktu terbaru dari satu atau beberapa objek MediaFrameSource .

public:
 virtual MultiSourceMediaFrameReference ^ TryAcquireLatestFrame() = TryAcquireLatestFrame;
MultiSourceMediaFrameReference TryAcquireLatestFrame();
public MultiSourceMediaFrameReference TryAcquireLatestFrame();
function tryAcquireLatestFrame()
Public Function TryAcquireLatestFrame () As MultiSourceMediaFrameReference

Mengembalikan

MultiSourceMediaFrameReference menyediakan akses ke bingkai terbaru dari sumber bingkai media.

Keterangan

Setelah mendapatkan instans MultiSourceMediaFrameReference, dapatkan bingkai media berkorelasi waktu dari sumber bingkai media tertentu dengan memanggil MultiSourceMediaFrameReference.TryGetFrameReferenceBySourceId dan lewati nilai properti MediaFrameSourceInfo.Id untuk sumber bingkai media yang diinginkan.

Setiap MultiSourceMediaFrameReader mempertahankan buffer melingkar objek MediaFrameReference yang diperoleh dari TryAcquireLatestFrame. Setelah semua objek MediaFrameReference dalam buffer telah digunakan, panggilan berikutnya ke TryAcquireLatestFrame akan menyebabkan sistem memanggil Tutup (atau Buang di C#) pada objek buffer tertua untuk menggunakannya kembali. Setelah objek dibuang, Anda tidak dapat lagi menggunakannya untuk mengakses data bingkai. Untuk alasan ini, Anda tidak boleh menyimpan objek MediaFrameReference lebih lama dari yang sebenarnya Anda butuhkan untuk memproses bingkai. Jika skenario aplikasi mengharuskan Anda menyimpan referensi ke data lebih lama, Anda harus menggunakan salah satu API yang disediakan untuk mendapatkan data yang mendasarinya. Metode ini meliputi:

Penting

Jika Anda mengakses objek SoftwareBitmap atau Direct3DSurface yang disediakan oleh properti VideoMediaFrame dari MediaFrameReference, sistem membuat referensi yang kuat ke objek ini, yang berarti bahwa objek tersebut tidak akan dibuang saat Anda memanggil Buang pada MediaFrameReference yang berisi. Anda harus secara eksplisit memanggil metode BuangSoftwareBitmap atau Direct3DSurface secara langsung agar objek segera dibuang. Jika tidak, pengumpul sampah pada akhirnya akan membebaskan memori untuk objek-objek ini, tetapi Anda tidak dapat tahu kapan ini akan terjadi, dan jika jumlah bitmap atau permukaan yang dialokasikan melebihi jumlah maksimum yang diizinkan oleh sistem, aliran bingkai baru akan berhenti.

Berlaku untuk

Lihat juga