Bagikan melalui


Peristiwa MEBufferingStarted

Menandakan bahwa sumber media telah mulai menyangga data.

Sumber media dapat mengirim kejadian ini jika sumber buffer data saat Sesi Media sedang berjalan. Ketika Sesi Media menerima kejadian ini, Sesi Media akan menjeda jam presentasi hingga sumber media mengirim peristiwa MEBufferingStopped . Sesi Media juga meneruskan peristiwa MEBufferingStarted ke aplikasi.

Aliran byte yang mengimplementasikan antarmuka IMFByteStreamBuffering juga mengirim peristiwa ini.

Nilai peristiwa

Kemungkinan nilai yang diambil dari IMFMediaEvent::GetValue menyertakan yang berikut ini.

VARTYPE Deskripsi
VT_EMPTY
Tidak ada data peristiwa.

Keterangan

Jika sumber media mengirim peristiwa MEBufferingStarted, sumber media harus mengirim peristiwa MEBufferingStopped saat menghentikan data buffering. Sumber media harus mengirim peristiwa MEBufferingStopped yang cocok untuk setiap peristiwa MEBufferingStarted. Sumber media tidak boleh meneruskan peristiwa ini sebelum metode IMFMediaSource::Start sumber dipanggil, atau setelah metode IMFMediaSource::Stop sumber dipanggil.

Jika Anda melakukan streaming dari sumber jaringan Media Foundation, Anda bisa mendapatkan kemajuan buffering dengan mengkueri statistik MFNETSOURCE_BUFFERPROGRESS_ID . Untuk informasi selengkapnya, lihat MFNETSOURCE_STATISTICS_IDS.

Contoh

HRESULT GetBufferProgress(IMFMediaSession *pSession, DWORD *pProgress)
{
    IPropertyStore *pProp = NULL;
    PROPVARIANT var;

    // Get the property store from the media session.
    HRESULT hr = MFGetService(
        pSession, 
        MFNETSOURCE_STATISTICS_SERVICE, 
        IID_PPV_ARGS(&pProp)
        );

    if (SUCCEEDED(hr))
    {
        PROPERTYKEY key;
        key.fmtid = MFNETSOURCE_STATISTICS;
        key.pid = MFNETSOURCE_BUFFERPROGRESS_ID;

        hr = pProp->GetValue(key, &var);
    }

    if (SUCCEEDED(hr))
    {
        *pProgress = var.lVal;
    }

    PropVariantClear(&var);
    SafeRelease(&pProp);
    return hr;
}

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung
Windows Vista [hanya aplikasi desktop]
Server minimum yang didukung
Windows Server 2008 [hanya aplikasi desktop]
Header
Mfobjects.h (termasuk Mfidl.h)

Lihat juga

Peristiwa Yayasan Media

Jaringan di Media Foundation