MultiSourceMediaFrameReader.FrameArrived Evento

Definição

Ocorre quando um novo quadro chega de todas as fontes de quadro de mídia associadas ao MultiSourceMediaFrameReader.

// Register
event_token FrameArrived(TypedEventHandler<MultiSourceMediaFrameReader, MultiSourceMediaFrameArrivedEventArgs const&> const& handler) const;

// Revoke with event_token
void FrameArrived(event_token const* cookie) const;

// Revoke with event_revoker
MultiSourceMediaFrameReader::FrameArrived_revoker FrameArrived(auto_revoke_t, TypedEventHandler<MultiSourceMediaFrameReader, MultiSourceMediaFrameArrivedEventArgs const&> const& handler) const;
public event TypedEventHandler<MultiSourceMediaFrameReader,MultiSourceMediaFrameArrivedEventArgs> FrameArrived;
function onFrameArrived(eventArgs) { /* Your code */ }
multiSourceMediaFrameReader.addEventListener("framearrived", onFrameArrived);
multiSourceMediaFrameReader.removeEventListener("framearrived", onFrameArrived);
- or -
multiSourceMediaFrameReader.onframearrived = onFrameArrived;
Public Custom Event FrameArrived As TypedEventHandler(Of MultiSourceMediaFrameReader, MultiSourceMediaFrameArrivedEventArgs) 

Tipo de evento

Comentários

No manipulador do evento FrameArrived , chame TryAcquireLatestFrame no MultiSourceMediaFrameReference passado como o parâmetro de remetente para o manipulador de eventos para obter um MultiSourceMediaFrameReference representando o conjunto mais recente de quadros correlacionados das fontes de quadro de mídia para as quais o leitor foi criado. Em seguida, obtenha o quadro de mídia correlacionado com o tempo de uma fonte de quadro de mídia específica chamando TryGetFrameReferenceBySourceId e passando o valor da propriedade MediaFrameSourceInfo.Id para a fonte de quadro de mídia desejada.

Observe que esse evento só é gerado quando um novo quadro está disponível de todas as fontes de quadro de mídia associadas ao MultiSourceMediaFrameReader. Por exemplo, se uma das fontes produzir quadros com o dobro da taxa de outra, metade dos quadros da origem mais rápida será descartada e esse evento só será gerado quando a fonte de quadro mais lenta tiver um novo quadro disponível. Por esse motivo, é uma boa ideia configurar um evento e sinalizá-lo sempre que esse evento for gerado. Em um thread separado, você pode marcar para ver se o evento foi sinalizado dentro de uma janela de tempo especificada, por exemplo, 5 segundos. Se o evento não tiver sido sinalizado com a janela de tempo, seu aplicativo poderá deduzir que uma das fontes de quadro não está mais gerando quadros e que o leitor deve ser interrompido.

Para obter diretrizes sobre como trabalhar com quadros de mídia correlacionados com o tempo, consulte Processar quadros de mídia com MediaFrameReader.

Aplica-se a

Confira também