我需要从CD中导入音轨,但到目前为止我还无法做到。我可以成功地从CD中导入.mp3或许多其他音频格式。为了导入,首先我会扫描CD的文件和文件夹。然后我将文件列表显示给用户,并从列表中复制用户选择的文件。
这是我用于扫描目录或CD的代码:
这是我用于扫描目录或CD的代码:
List<StorageFile> allTrackFiles = null;
private async Task GetFiles(StorageFolder folder)
{
if(!scanningRemovableTask)
{
return;
}
try
{
if(allTrackFiles == null)
{
allTrackFiles = new List<StorageFile>();
}
var items = await folder.GetItemsAsync();
foreach (var item in items)
{
if (item.GetType() == typeof(StorageFile))
{
StorageFile storageFile = item as StorageFile;
allTrackFiles.Add(storageFile);
var basicProperties = await storageFile.GetBasicPropertiesAsync();
var musicProperties = await storageFile.OpenReadAsync();
}
else
await GetFiles(item as StorageFolder);
}
}
catch(Exception e)
{
}
}
我把CD的路径传递给这个函数,它会为我创建一个文件列表。当CD只包含.mp3或其他常见的音频格式时,这段代码可以正常工作。但是当CD包含.CDA扩展名的音轨时,就会出现问题。因为我们知道,.CDA文件本身无法播放,它们只是指向原始媒体文件的快捷方式。
现在,我目前遇到的难题是:如何读取.CDA文件或将.CDA文件导入通用Windows应用程序的本地目录中。