Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# iTunes网站。如何使用c获取track的旧位置?_C#_Itunes Sdk - Fatal编程技术网

C# iTunes网站。如何使用c获取track的旧位置?

C# iTunes网站。如何使用c获取track的旧位置?,c#,itunes-sdk,C#,Itunes Sdk,iTunes的旧位置文件路径已不存在!在他们面前。我知道这一点,因为如果你用鼠标右键点击轨道!在它前面,选择GetInfo,然后选择no,不定位它。在“摘要”选项卡下有一个部分显示歌曲的路径不起作用。当我尝试使用iTunes COM获取曲目位置时,IITFileOrCDTrack.location返回空字符串。那么,如何从Getinfo->Summary选项卡中获取这个where值呢 下面是我目前如何使用C获取曲目位置。我的整个iTunes库中有10首歌曲,它们都指向错误的文件位置,所以我选择哪

iTunes的旧位置文件路径已不存在!在他们面前。我知道这一点,因为如果你用鼠标右键点击轨道!在它前面,选择GetInfo,然后选择no,不定位它。在“摘要”选项卡下有一个部分显示歌曲的路径不起作用。当我尝试使用iTunes COM获取曲目位置时,IITFileOrCDTrack.location返回空字符串。那么,如何从Getinfo->Summary选项卡中获取这个where值呢

下面是我目前如何使用C获取曲目位置。我的整个iTunes库中有10首歌曲,它们都指向错误的文件位置,所以我选择哪首歌并不重要

iTunesApp itunes = new iTunesApp(); 
IITLibraryPlaylist mainLibrary = itunes.LibraryPlaylist;
IITTrackCollection tracks = mainLibrary.Tracks;
IITFileOrCDTrack currTrack;
currTrack = tracks[5] as IITFileOrCDTrack;
Console.WriteLine(currTrack.location) //output is blank.

找到文件时,where值显示C:\。。。但当找不到文件时,它会显示文件:\\C:\。。。在iTunes中,从代码中,您可以通过使用location属性(可能是一个bug)访问位置,并使用您的代码-将“location”中的“L”大写

从SDK文档中:

HRESULT位置[输出,返回]BSTR*位置

返回此轨迹表示的文件的完整路径

参数: location返回此轨迹表示的文件的完整路径

返回值:

好的,手术成功了。 S_FALSE无法检索位置,例如,预期位置不存在文件。 E_指针位置为空。 ITUNES_E_OBJECTDELETED此曲目已被删除。 E_FAIL发生意外错误

我能够重现这一点,即在找不到文件时,在itunes中查看where值,并从IITFileOrCDTrack.Location返回null。我不认为是这样的,除非它没有文档记录,如果找不到实际的文件,就不可能返回值