次の方法で共有


MultiSourceMediaFrameReader.FrameArrived イベント

定義

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) 

イベントの種類

注釈

FrameArrived イベントのハンドラーで、イベント ハンドラーに sender パラメーターとして渡された MultiSourceMediaFrameReferenceTryAcquireLatestFrame を呼び出し、リーダーが作成されたメディア フレーム ソースから相関フレームの最新セットを表す MultiSourceMediaFrameReference を取得します。 次に、 TryGetFrameReferenceBySourceId を呼び出し、目的のメディア フレーム ソースの MediaFrameSourceInfo.Id プロパティの値を渡すことによって、特定のメディア フレーム ソースから時間相関メディア フレームを取得します。

このイベントは、 MultiSourceMediaFrameReader に関連付けられているすべてのメディア フレーム ソースから新しいフレームを使用できる場合にのみ発生します。 たとえば、ソースの 1 つが別のソースの 2 倍の速度でフレームを生成する場合、より高速なソースからのフレームの半分が削除され、低速フレーム ソースに新しいフレームが使用可能な場合にのみこのイベントが発生します。 このため、イベントを設定し、このイベントが発生するたびに通知することをお勧めします。 別のスレッドでは、イベントが指定した時間枠 (たとえば 5 秒以内) に通知されているかどうかを確認チェック。 イベントが時間枠で通知されていない場合、アプリは、フレーム ソースの 1 つがフレームを生成しなくなったことを推測し、リーダーを停止する必要があると推測できます。

時間相関メディア フレームの操作に関するハウツー ガイダンスについては、「 MediaFrameReader を使用してメディア フレームを処理する」を参照してください。

適用対象

こちらもご覧ください