我知道,通过设置LoadedBehavior="Play"
,将在容器窗口出现后立即播放媒体。或LoadedBehavior="Pause"
将显示第一帧,并保持为已暂停状态。但是我不知道是使用Close
以外的其他设置值。但是,设置UnloadedBehavior
不会导致媒体屏幕自动变黑。
MSDN page for UnloadedBehavior几乎没有什么帮助。 我还阅读了以下MSDN页面:
答案 0 :(得分:1)
UnloadedBehavior =“关闭”是非常有用的行为。
要删除中介元素时,必须释放内存及其已使用的所有媒体资源。
您应该了解Microsoft对Unloaded Event的描述。
假设您的中介元素是网格的子元素,并且您想要删除它,那么有两种释放内存的方法:
1-使用像这样的卸载事件:
private void mediaelement_Unloaded(object sender, RoutedEventArgs e)
{
mediaelement.Unloaded -= mediaelement_Unloaded;
mediaelement.Source = null;
mediaelement.Close();
}
2-代替上述解决方案,您只需设置UnloadedBehavior =“ Close” ,因此它将自动close the media and releas all media resources (including video memory)。
....................... 更新:
Microsoft关于UnloadedBehavior的说法: “ UnloadedBehavior。卸载媒体时就位。这确保默认情况下释放所有媒体资源,即使MediaClock与MediaElement关联也是如此。”
但是,我同意Mostafa的看法,因为我找不到关于play,pause和stop之类的另一个UnloadedBehaviors的清晰文档。