0

我创建了一个媒体播放器的弹出窗口,我正在其中播放一个 MediaElement(即视频)。我在此弹出窗口上也有一个关闭按钮,它将关闭媒体弹出窗口,但问题是如果我单击关闭按钮,它将停止 MediaElement byt MediaElement.Stop(); 并且也会隐藏弹出窗口。但继续在后台进行 MediaElement Process 因为 MediaElement.Stop() 只会暂停媒体并将其点重置为 0.0

有人可以帮助我如何从背景中删除这个 MediaElement,这实际上影响了我的应用程序性能。

4

2 回答 2

1

请按以下顺序尝试:

  1. 调用 MediaElement.stop();
  2. 隐藏弹出窗口。
  3. 从弹出窗口的视觉层次结构中删除 MediaElement。
  4. 处置 MediaElement。
于 2013-09-23T22:00:59.413 回答
0

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

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

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

让我知道这个是否奏效。

于 2013-09-23T15:35:39.840 回答