我正在使用silverlight插件播放媒体文件。
我正在采用播放速率控制来提高/降低媒体播放速度。
弹出进度条,当媒体元素处于缓冲模式时显示。
这是用于检查媒体缓冲模式的代码。
if(_myMediaElement.CurrentState == MediaElementState.Buffering)
{
//Show pop_up for with buffering progress bar
}
问题:当我使用播放速率滑块控制增加播放速率而通过重置媒体元素增加媒体位置时,新时间跨度位置比媒体元素进入缓冲模式。但_myMediaElement.CurrentState始终显示播放模式。因此无法使用缓冲进度条显示pop_up。
更改播放率的代码
_myMediaElement.PlaybackRate = _playRateSliderControl.Value; // it can be 0.5, 1.0, 1.5
增加媒体位置的代码
_myMediaElement.Position = new TimeSpan(0, 0, newPosition);
感谢任何帮助
谢谢
答案 0 :(得分:0)
我修好了。 当我从1.0增加playrate时,如果媒体元素处于缓冲过程中,那么我已分配 playrate = 1.0并接受另一个增加播放值的变量。而且当缓冲完成并且媒体元素播放器播放流时比重置播放速度增加值。