C# 如何在Windows 8 Metro应用程序开发中关闭视频

C# 如何在Windows 8 Metro应用程序开发中关闭视频,c#,xaml,windows-phone-7,microsoft-metro,C#,Xaml,Windows Phone 7,Microsoft Metro,我已经创建了一个媒体播放器弹出窗口,其中我正在播放一个媒体元素(即视频)。我在这个弹出窗口上也有一个关闭按钮,它将关闭媒体弹出窗口,但问题是如果我单击关闭按钮,它将停止MediaElement byt MediaElement.stop();并将隐藏弹出窗口以及。但继续在后台处理MediaElement,因为MediaElement.Stop()将暂停媒体并将其点重置为0.0 有人能帮我从后台删除这个MediaElement吗?这实际上影响了我的应用程序性能。解决这个问题的最好方法是使用流。使用

我已经创建了一个媒体播放器弹出窗口,其中我正在播放一个媒体元素(即视频)。我在这个弹出窗口上也有一个关闭按钮,它将关闭媒体弹出窗口,但问题是如果我单击关闭按钮,它将停止MediaElement byt MediaElement.stop();并将隐藏弹出窗口以及。但继续在后台处理MediaElement,因为MediaElement.Stop()将暂停媒体并将其点重置为0.0


有人能帮我从后台删除这个MediaElement吗?这实际上影响了我的应用程序性能。

解决这个问题的最好方法是使用流。使用
System.IO.Stream
打开音频,当弹出窗口关闭时,执行
(new System.IO.Stream()).Dispose()

尽管使用
关键字将自动帮助您处理流,但除非为mediaelement指定了源,否则它将影响其性能。尝试使用
setSource()
方法将源设置为null或将uri源设置为null。然后做一个

(new System.IO.Stream()).Dispose();

让我知道这是否有效。

按以下顺序尝试:

  • 调用MediaElement.stop()
  • 隐藏弹出窗口
  • 从弹出窗口的视觉层次结构中删除MediaElement
  • 处理媒体元素

  • 媒体播放器没有处置选项。只有流具有dispose选项:)Media Player是xaml控件毕竟您可以删除该控件,但不能进行dispose。