我通过搜索互联网看到,可以通过挂钩manifestready事件并删除最低比特率然后在一段时间后将它们添加回去来完成一个技巧.
这很有道理,但我没有看到这样做的示例代码.
我从表达式编码器4获得了播放器代码并看了一眼,但发现无处可去做更改.
有人有更多关于改善平滑流媒体启动的信息吗?
非常感谢你
解决方法 你好,我把这个问题发布到媒体平台播放器论坛,得到了一个有效的答案.讨论在这里:http://smf.codeplex.com/discussions/271042
这是我使用的代码:
public MainPage() { InitializeComponent(); player.MediaPluginRegistered += new EventHandler<CustomEventArgs<IMediaPlugin>>(player_MediaPluginRegistered); player.PlayStateChanged += new EventHandler<CustomEventArgs<MediaPluginState>>(Player_PlayStateChanged); }private IAdaptiveMediaPlugin _adaptivePlugin = null;private bool isstartupHeuristicsActive = false;voID player_MediaPluginRegistered(object sender,CustomEventArgs<IMediaPlugin> e) { var adaptivePlugin = e.Value as IAdaptiveMediaPlugin; if (adaptivePlugin == null) return; if (_adaptivePlugin == null) _adaptivePlugin = adaptivePlugin; _adaptivePlugin.ManifestReady +=new Action<IAdaptiveMediaPlugin>(_adaptivePlugin_ManifestReady);}voID _adaptivePlugin_ManifestReady(IAdaptiveMediaPlugin obj){ if (_adaptivePlugin != null) { var vIDeoStream = _adaptivePlugin.CurrentSegment.SelectedStreams.Where(i => i.Type == StreamType.VIDeo).FirstOrDefault(); if (vIDeoStream != null) { var averageBitrate = vIDeoStream.AvailableTracks.Average(t => t.Bitrate); var track = vIDeoStream.AvailableTracks.FirstOrDefault(t => t.Bitrate >= averageBitrate); if (track != null) { isstartupHeuristicsActive = true; vIDeoStream.SetSelectedTracks(new[] { track }); } } }}private voID Player_PlayStateChanged(object sender,CustomEventArgs<MediaPluginState> e){ if (isstartupHeuristicsActive && e.Value == MediaPluginState.Playing) { isstartupHeuristicsActive = false; if (_adaptivePlugin != null) { var vIDeoStream = _adaptivePlugin.CurrentSegment.SelectedStreams.Where(i => i.Type == StreamType.VIDeo).FirstOrDefault(); if (vIDeoStream != null) { vIDeoStream.SetSelectedTracks(vIDeoStream.AvailableTracks); } } }}
谢谢
总结以上是内存溢出为你收集整理的silverlight – IIS启动时平滑流低质量全部内容,希望文章能够帮你解决silverlight – IIS启动时平滑流低质量所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)