Событие MEBufferingStarted

Сигнализирует о начале буферизации данных источником мультимедиа.

Источник мультимедиа может отправить это событие, если источник буферизует данные во время выполнения сеанса мультимедиа. Когда сеанс мультимедиа получает это событие, он приостанавливает часы презентации, пока источник мультимедиа не отправит событие MEBufferingStopped . Сеанс мультимедиа также пересылает в приложение событие MEBufferingStarted.

Потоки байтов, реализующие интерфейс IMFByteStreamBuffering , также отправляют это событие.

Значения событий

Возможные значения, полученные из IMFMediaEvent::GetValue , включают следующие.

VARTYPE Описание
VT_EMPTY
Нет данных события.

Комментарии

Если источник мультимедиа отправляет событие MEBufferingStarted, он должен отправить событие MEBufferingStopped при остановке буферизации данных. Источник мультимедиа должен отправлять соответствующее событие MEBufferingStopped для каждого события MEBufferingStarted. Источник мультимедиа не должен пересылать эти события до вызова метода IMFMediaSource::Start источника или после вызова метода IMFMediaSource::Stop источника.

Если вы выполняете потоковую передачу из источника сети Media Foundation, вы можете получить сведения о ходе буферизации, запросив статистику MFNETSOURCE_BUFFERPROGRESS_ID . Дополнительные сведения см. в разделе MFNETSOURCE_STATISTICS_IDS.

Примеры

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;
}

Требования

Требование Значение
Минимальная версия клиента
Windows Vista [только классические приложения]
Минимальная версия сервера
Windows Server 2008 [только классические приложения]
Заголовок
Mfobjects.h (включая Mfidl.h)

См. также раздел

События Media Foundation

Сеть в Media Foundation