![](/img/trans.png)
[英]How to connect Firebase with C# from a Windows 10 Universal app?
[英]How to import .CDA tracks from a CD in windows 10 universal app?
我需要从CD导入曲目,但到目前为止我无法这样做。 我可以成功地从CD导入.mp3或许多其他音频格式。 出于导入目的,我首先扫描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应用程序中的本地目录。
简短回答:CDA文件无法做到这一点。
答案很长:CDA文件只是Windows为CD上的每个音轨生成的存根文件。 这些文件不包含实际的音频数据。 它们包含的是光盘上每个轨道开始和停止的位置。 如果文件从CD“复制”到计算机,则不能单独使用它,因为它只是部分光盘的快捷方式。 音频CD未格式化为文件系统磁盘。 它无法作为文件访问。 这就是Windows创建CDA文件的原因。 它将CD显示为带有轨道文件的驱动器,以便于查看。
您将不得不使用可以从磁盘加载实际音轨的库,而不是文件而是音轨。 使用CDA的正确方法是将其用作实际音频轨道的参考,将其翻录到文件,然后加载翻录文件。
您可以使用本机Windows Media Interface来翻录音轨。 我还发现了一个似乎使用自定义开膛手的代码项目教程 。 他们应该让你朝着正确的方向前进。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.