在我的应用程序中,我有以下代码,它是手机的MediaLibrary
,并从Song
过滤掉正确选择的MediaLibrary.Songs
并播放它:
using (MediaLibrary library = new MediaLibrary())
{
foreach (var item in library.Songs)
{
if (item.Name == songName)
{
FrameworkDispatcher.Update();
MediaPlayer.Play(item);
}
}
library.Dispose();
}
然而,这需要相当长的时间并导致暂停。是否有更快/更有效的方式从手机的Song
访问特定MediaLibrary.Songs
?
感谢您的帮助。
答案 0 :(得分:0)
也许你必须在读取目录后将值存储在XML文档中,如果库没有被更改,这可以节省大量时间(检查整个库的大小)。如果是,则可以再次检查库并更新XML。
答案 1 :(得分:0)
这根本不是一种有效的方法。
要在MediaLibrary
中查找任何歌曲,请使用 LINQ 。
实施例
MediaPlayer.Play(library.Songs.First(x=>x.Name == songName));