MultiSourceMediaFrameReader.FrameArrived 事件
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
當新畫面從與 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事件的處理常式中,在傳入的MultiSourceMediaFrameReference上呼叫TryAcquireLatestFrame,做為事件處理常式的傳送者參數,以取得MultiSourceMediaFrameReference,代表讀取器建立所在媒體畫面來源的最新相互關聯畫面集。 然後,呼叫 TryGetFrameReferenceBySourceId 並從特定媒體畫面來源取得時間相互關聯的媒體畫面,並傳入所需媒體畫面來源 的 MediaFrameSourceInfo.Id 屬性值。
請注意,只有在所有與 MultiSourceMediaFrameReader相關聯的媒體畫面來源都可使用新畫面時,才會引發此事件。 例如,如果其中一個來源以另一個的速率產生兩倍的畫面,則會卸載來自較快來源的一半畫面,而且只有在較慢的畫面來源有新的畫面可用時,才會引發此事件。 基於這個理由,最好設定事件,並在每次引發此事件時發出訊號。 在個別的執行緒中,您可以檢查事件是否已在指定的時間範圍內收到訊號,例如 5 秒。 如果事件尚未收到時間範圍訊號,您的應用程式可能會推斷其中一個畫面來源不再產生畫面,而且應該停止讀取器。
如需使用時間相互關聯媒體畫面的作法指引,請參閱 使用 MediaFrameReader 處理媒體畫面。