2010-07-11 73 views
1

我有一個MediaElement,當緩衝時顯示一個簡單的進度條。它在BufferingProgressChanged事件中顯示或隱藏。有關代碼,請參見下文。Silverlight MediaElement雙緩衝

問題是,MediaElement經常決定緩衝兩次,導致進度條出現兩次。爲什麼是這樣,有沒有辦法解決這個問題?

謝謝!

private void MediaElement_BufferingProgressChanged(object sender, RoutedEventArgs e) 
{ 
    if (MediaElement.CurrentState == MediaElementState.Buffering) 
    { 
     BufferProgressBar.Value = MediaElement.BufferingProgress; 
     BufferGrid.Visibility = System.Windows.Visibility.Visible; 
    } 
    else 
    { 
     BufferGrid.Visibility = System.Windows.Visibility.Collapsed; 
    } 
} 

回答

0

我想你可以嘗試通過存儲MediaElement的最後狀態來解決這個問題,這樣的話你可以檢查它是否是從緩存播放或緩衝。