이거 찾느라 참 힘들었다....
내가 생각한 SetBitRage가 맞는것이다....
현재 내가 쓰는 Control은 예전부터 쓰던 MediaElement이고
Smooth Streaming Devolopkit beta1 을 깔면 SmoothStreamingMediaElement를 얻을수 있다....
MediaElement랑 비슷하지만 좀더 기능이 많고 최적화 되어있다....
내가 한 뻘짓은
private void Button_Click(object sender, System.Windows.RoutedEventArgs e)
{
if (string.IsNullOrEmpty(InputBox.Text) == true)
return;
Uri uri = new Uri(InputBox.Text, UriKind.Absolute);
source = new AdaptiveStreamingSource();
source.MediaElement = Media;
source.ManifestUrl = new Uri(InputBox.Text);
//source.SetBitrateRange(MediaStreamType.Video, 100, 100);
//source.SetOfflinePlaybackBitrateInKbps(MediaStreamType.Video, 100);
source.PlayBitrateChange += new EventHandler<BitrateChangedEventArgs>(source_PlayBitrateChange);
source.StartPlayback();
GraphPanel.Children.Clear();
GraphPanel.Children.Add(source.StatisticsGraph);
}
이건 버튼을 클릭하면 Media라는 MediaElement에 ism영상을 보여주는것이다.
근데 SetBitrateRange를 위에서 보는거와 같이 설정해두었다
하지만 영상의 bitrate는 보이지 않았다. 이유는 player를 하기전에 세팅한거같아서 paenl에 add하고 넣어도 작동이 되지 않았다...
아 이 메서드가 아닌가? 싶어서 구글을 삿삿이 찾았지만 이 메소드를 쓴 사람이 전세계에 아무도 없었다....
하지만 버튼을 하나더 만들어서 플레이어 도중에 구현을 했더니
void xTestButton_Click(object sender, RoutedEventArgs e)
{
long minBitrate = 100;
long maxBitrate = 100;
source.SetBitrateRange(MediaStreamType.Video,minBitrate , maxBitrate);
MessageBoxResult messageBoxResult = MessageBox.Show("change bitrate" +minBitrate+" , " + maxBitrate);
}
작동이 잘되었다 아마 버그인가?
아니면 내가 못한것일까?........
소스 : [#FILE|SmoothStreamingSample.zip|pds/200911/17/37/|mid|0|0|pds15|0#]