2013-05-13 127 views
2

在我的应用程序中,我有一个fullscreen MediaElement,它可以再现全屏视频。Windows Phone 8暂停视频不会恢复(音频)

当我暂停视频,我不能恢复它(with MediaElement1.Play())只有音频恢复。

好像视频没有被正确重绘我试图把一个button在它的前面,如果我hold the button(所以我想我逼的MediaElement背景重绘) 的视频开始显示出来。

这似乎是由事实来证实,使用:

Application.Current.Host.Settings.EnableFrameRateCounter = true; 

视频播放恢复正常,即使没有按钮漏洞。

如果有人能帮助我,我会非常感激。非常感谢您的阅读和评论。

+0

我只想补充一点,既提到的利用并不像接受: 1)按钮需要被按下2)FrameRateCounter表示一个丑陋的酒吧,我不希望我的用户看到 – Matteo 2013-05-13 11:54:17

回答

1

我以另一种方式解决了这个问题。 我注意到两次单击播放按钮后视频简历,所以我用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(); 
    } 
+0

肯定比我的选择更少的资源消耗,谢谢。 – Matteo 2014-06-20 16:51:10

0

我发现了一个可能的,丑陋的,解决方法:

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(); }); 
} 

由于它的工作,我会去的,但我真的很喜欢一个更好的解决方案。

+0

你有没有得到任何不那么丑陋的结局?我也有这个问题,它似乎是一个媒体元素的一个相当基本的错误。 – 2013-06-05 11:27:15

+0

不,不幸的是,这实际上是应用程序部署到商店中的代码部分。 – Matteo 2013-06-06 15:33:17

+0

我会承认我很困惑如何实现上述,我可以很厚脸皮,并要求一个显示周围代码的pastebin? – 2013-06-06 15:54:23