本文整理汇总了C#中Microsoft.Xna.Framework.Media.MediaLibrary.Where方法的典型用法代码示例。如果您正苦于以下问题:C# MediaLibrary.Where方法的具体用法?C# MediaLibrary.Where怎么用?C# MediaLibrary.Where使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Microsoft.Xna.Framework.Media.MediaLibrary
的用法示例。
在下文中一共展示了MediaLibrary.Where方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ReadStoryFile
/// <summary>
/// 读取指定的story.
/// </summary>
/// <param name="storyName">story名称.</param>
/// <param name="userStore">如果参数为null, 创建一个新的.</param>
internal static void ReadStoryFile(string storyName, IsolatedStorageFile userStore = null)
{
if (userStore == null)
{
userStore = IsolatedStorageFile.GetUserStoreForApplication();
}
using (IsolatedStorageFileStream fileStream = userStore.OpenFile(storyName + ".xml", System.IO.FileMode.Open))
{
XDocument xdoc = XDocument.Load(fileStream);
var picturesLibrary = new MediaLibrary().Pictures;
// Load all photos.
foreach (XElement photoElement in xdoc.Root.Elements())
{
try
{
Photo photo = new Photo()
{
Name = photoElement.Attribute("Name").Value,
};
string photoDurationString = photoElement.Attribute("PhotoDuration").Value;
int photoDuration = int.Parse(photoDurationString);
photo.PhotoDuration = TimeSpan.FromSeconds(photoDuration);
XElement transitionElement = photoElement.Element("Transition");
if (transitionElement != null)
{
photo.Transition = TransitionBase.Load(photoElement.Element("Transition"));
}
Picture picture = picturesLibrary.Where(p => p.Name == photo.Name).FirstOrDefault();
if (picture == null)
{
// 如果找不到原文件,可能已经被删除了
// TODO: 我们需要记录错误吗? 我们是继续下一个图片还是抛出异常?
continue;
}
photo.ThumbnailStream = picture.GetThumbnail();
App.MediaCollection.Add(photo);
}
catch
{
// TODO: 我们需要记录错误吗? 我们是继续下一个图片还是抛出异常?
continue;
}
}
}
}