2013-10-16 8 views
1

Silverlight 용 사용자 지정 플레이어를 개발 중입니다. 하나는 MediaElement이고 다른 하나는 SmootStreamingMediaElement입니다. 현재로서는 SDK 5.0의 최신 버전을 사용하고 있지만 모든 문제가 해결되면 이전 버전을 지원하고 싶습니다.Silverlight MediaElement Bitrate

모두 잘 작동하고 (재생) 이제 플랫폼 및 API에 대한 기본적인 이해를 얻었지만 (비) 사소한 기능에 집착했습니다. 현재 재생을위한 비트 전송률 정보를 얻고 싶습니다. 비디오, 단일 비트 전송률 또는 다중 비트 전송률 파일이 두 경우 모두 작동해야하는지 여부와 상관없이

내가 아는 한, DownloadProgressBufferProgress과 같이 유용하지만 충분하지 않은 MediaElement API에 대한 다음과 같은 속성 및 메서드가 있습니다. TotalBytesDownloaded 속성 (SmoothStreamingMediaElement 클래스 제외)을 제외하고 사양에있는 비트율 또는 유사한 정보를 가져 오는 방법은 없습니다.

MediaElement 및 SmootStreamingMediaElement API를 사용하면 비디오 파일의 평균 또는 즉시 전송률을 얻을 수 있습니까?

그렇지 않은 경우 처리 할 수있는 해결 방법이 있습니까?

동영상에 대한 추가 정보를 얻으려면 MediaItem (MediaElement 인스턴스 내에서)에 액세스 할 수 있습니까?

답변

0

내장 된 MediaElement 클래스에는 이러한 기능이 없습니다. 그러나보다 진보 된 SmoothStreamingMediaElement 클래스를 사용하여 현재 비트 전송률을 감지 할 수 있습니다. 여기

이 클래스를 사용하는 방법을 설명하는 MSDN 문서입니다 : Select and Monitor Bitrate

현재 비트 레이트 watchs 전체 코드 :

public MainPage() 
{ 
    InitializeComponent(); 
    media.PlaybackTrackChanged += OnPlaybackTrackChanged; 
} 

void OnPlaybackTrackChanged(object sender, TrackChangedEventArgs e) 
{ 
    Debug.WriteLine("Current bitrate: " + e.NewTrack.Bitrate.ToString()); 
}