gpt4 book ai didi

c# - 在 Windows Phone 8.1 运行时获取音乐文件太慢

转载 作者:太空宇宙 更新时间:2023-11-03 13:09:14 26 4
gpt4 key购买 nike

我正在 Windows Phone 8.1 运行时处理音乐库中的音乐。但是有个问题。太慢了。在 Windows Phone 8.0 或 8.0 Silverlight 中,当我使用 Microsoft.Xna.Framework.Media 时,速度非常快。在 WP 8.1 运行时,我不能使用 XNA,我必须使用 KnownFolders.MusicLibrary。例如:

App.listMusicFiles = await KnownFolders.MusicLibrary.GetFilesAsync(CommonFileQuery.OrderByName);

for (int i = 0; i < App.listMusicFiles.Count; i++)
{
MusicProperties musicProperties = await App.listMusicFiles[i].Properties.GetMusicPropertiesAsync();
App.listSongs.Add(new DeviceSongModel(i, musicProperties.Title, musicProperties.Artist, App.listMusicFiles[i].Path, App.listMusicFiles[i].ContentType, musicProperties.Album, musicProperties.Duration.Ticks, ""));

}

它非常非常慢。但是为什么?

最佳答案

您看到的问题可能是因为此处的这一行:

await KnownFolders.MusicLibrary.GetFilesAsync(CommonFileQuery.OrderByName);

在幕后,它正在遍历 every music file on the entire device ,为每个文件创建一个内存中的表示,并将该表示编码回您的应用程序的进程。

执行此操作的更好方法是使用 await KnownFolders.MusicLibrary.GetFilesAsync(CommonFileQuery.OrderByName,index,batchSize); 一次只抓取一批固定大小的文件。这将限制返回的文件数量。然后,您可以在后台请求下一批处理返回的文件。

关于c# - 在 Windows Phone 8.1 运行时获取音乐文件太慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29739278/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com