MediaElement.MediaOpened 事件

定义

在已验证并打开媒体流并且已读取文件头时发生。

// Register
event_token MediaOpened(RoutedEventHandler const& handler) const;

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

// Revoke with event_revoker
MediaElement::MediaOpened_revoker MediaOpened(auto_revoke_t, RoutedEventHandler const& handler) const;
public event RoutedEventHandler MediaOpened;
function onMediaOpened(eventArgs) { /* Your code */ }
mediaElement.addEventListener("mediaopened", onMediaOpened);
mediaElement.removeEventListener("mediaopened", onMediaOpened);
- or -
mediaElement.onmediaopened = onMediaOpened;
Public Custom Event MediaOpened As RoutedEventHandler 
<MediaElement MediaOpened="eventhandler" .../>

事件类型

示例

以下代码演示如何确定媒体流是否为实时流。

private void media_MediaOpened(object sender, RoutedEventArgs e)
{
    bool isLive = IsLiveStream(sender as MediaElement);
}

private bool IsLiveStream(MediaElement media)
{
    bool isLive = false;

    if (media.NaturalDuration.TimeSpan.Ticks == Int64.MaxValue)
    {
       isLive = true;
    }

    return isLive;
}

注解

实时媒体流报告 Int64.MaxValueNaturalDuration

在引发 MediaOpened 事件之前发生的任何 对 PlayPauseStop 方法的调用将被忽略。

适用于