在我的应用程序中,我有一个可以再现全屏视频的fullscreen MediaElement。
当我暂停视频时,我无法恢复它的(with MediaElement1.Play()),因为只有音频恢复。
当我试图在它前面放一个媒体元素时,视频似乎没有被正确地重绘,如果我hold the button (所以我猜我是在强制后台的媒体元素重绘),视频就会开始显示。
这一点似乎得到了以下事实的证实:
Application.Current.Host.Settings.EnableFrameRateCounter = true;即使没有按钮漏洞,视频播放也可以正常恢复。
如果有人能帮上忙,我将非常非常感激。非常感谢您的阅读和评论。
发布于 2013-10-23 22:30:25
我用另一种方法解决了这个问题。我注意到视频在点击播放按钮两次后恢复,所以稍后我使用DispatcherTimer再次调用MyPlayer.Play()
DispatcherTimer dt = new DispatcherTimer();
public MainPage()
{
InitializeComponent();
dt.Interval = new TimeSpan(0, 0, 0, 1);
dt.Tick += new EventHandler(Ticked);
}
private void Ticked(object sender, EventArgs e)
{
MyPlayer.Play();
dt.Stop();
}
private void Button_Click_1(object sender, RoutedEventArgs e)
{
MyPlayer.Play();
dt.Start();
}发布于 2013-05-13 21:17:08
我发现了一种可能的、丑陋的解决办法:
video_timer = new System.Threading.Timer(x=>refresh_video(), null, TimeSpan.FromSeconds(0), TimeSpan.FromSeconds(1 / 60.0));
private void refresh_video()
{
Dispatcher.BeginInvoke(delegate() { MediaElement1.InvalidateArrange(); });
}由于它的工作,我会去这个,但我真的喜欢一个更好的解决方案。
https://stackoverflow.com/questions/16521309
复制相似问题