當(dāng)前位置: 首頁IT技術(shù) → silverlight自定義控件之多媒體視頻播放器

silverlight自定義控件之多媒體視頻播放器

更多
2 頁 使用到的重要事件(非運(yùn)行代碼):

//當(dāng)媒體流已被驗證和打開且已讀取文件頭時發(fā)生。在該自定義控件中主要通過該事件獲取視頻的總時長。

public event RoutedEventHandler MediaOpened

void mediaElement_MediaOpened(object sender, RoutedEventArgs e)

{

this.playTools.TotaPlayTime = (int)this.mediaElement.NaturalDuration.TimeSpan.TotalSeconds;

}

//當(dāng) MediaElement 不再播放音頻或視頻時發(fā)生。在該自定義控件中主要通過該事件設(shè)置MediaElement為Stop,并判斷是否循環(huán)播放而進(jìn)行繼續(xù)循環(huán)播放。

public event RoutedEventHandler MediaEnded

void mediaElement_MediaEnded(object sender, RoutedEventArgs e)

{

this.mediaElement.Stop();

if (this.IsReplay)

{

this.mediaElement.Play();

}

}

//當(dāng) CurrentState 屬性的值更改時發(fā)生。在該自定義控件中主要通過該事件顯示當(dāng)前視頻播放狀態(tài)信息。

public event RoutedEventHandler CurrentStateChanged

if (this.mediaElement.CurrentState == MediaElementState.Buffering)

{

this.playTools.CurrentMessage = this.mediaElement.CurrentState + " " + Math.Round(this.mediaElement.BufferingProgress * 100, 0).ToString() + "%";

}

//在存在與媒體 Source 關(guān)聯(lián)的錯誤時發(fā)生。MediaFailed 事件可在下列條件下發(fā)生:1、未找到文件。2、無效的(無法識別的或不支持的)媒體格式。3、播放期間未知的媒體錯誤。

//在該自定義控件中主要通過該事件顯示錯誤信息。

public event EventHandler MediaFailed

void mediaElement_MediaFailed(object sender, ExceptionRoutedEventArgs e)

{

this.playTools.CurrentMessage = e.ErrorException.Message;

}

//該事件是播放時發(fā)生,用于獲取當(dāng)前已播放時間

CompositionTarget.Rendering += new EventHandler(CompositionTarget_Rendering);

void CompositionTarget_Rendering(object sender, EventArgs e)

{

int currentTime = (int)this.mediaElement.Position.TotalSeconds;

this.playTools.CurrentPlayTime = currentTime;

}

本文導(dǎo)航
  • 第1頁: 首頁
  • 第2頁: 使用到的重要事件(非運(yùn)行代碼):
熱門評論
最新評論
發(fā)表評論 查看所有評論(0)
昵稱:
表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
字?jǐn)?shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)