【发布时间】:2016-05-18 11:42:12
【问题描述】:
我正在使用 MediaElement 播放网络视频。当我离开页面时,我在任务管理器中注意到我的应用仍在使用 10% 的网络,并且直到下载完视频才掉线。
我尝试执行以下操作,但没有成功。
//open link;
mediaElement.Source = welcomeVideoURL;
//when I leave the page OnNavigatedFrom()
mediaElement.Stop();
mediaElement.ClearValue(MediaElement.SourceProperty);
mediaElement.Source = null;
还尝试将源设置为虚拟链接,但仍然没有成功。
我认为将链接作为流打开并使用mediaElement.SetSource() 可以工作,但我没有找到任何相关内容...也许我搜索不正确。
谢谢。
【问题讨论】:
-
你试过没有
mediaElement.AudioCategory = AudioCategory.ForegroundOnlyMedia。而且,您的服务器是否能够处理 HTTP 范围?如果没有,则无法分段下载视频,应一次性下载。 -
试过了,不行。还说它已弃用。我相信 MediaElement 内部的后台下载器不会处理。但是尝试了您的 HttpRandomAccessStream 并且效果很好!。
-
看看
this。上下文可能会有所不同,但您可以通过将isEnabled更改为false然后执行标准.Stop()并在处理程序中清空来强制流丢弃。也可以强制处置 -
你试过
.Close()了吗?因为.Stop()仅将其重置为从头开始播放。尝试关闭信息流。 -
@Gabe isEnabled、Close() 和 Stop() 或任何类似的都不存在。
标签: c# windows-8.1 win-universal-app mediaelement