2011-01-29 9 views
4

iTunesには、トラックの古い場所(ファイルパスはもう存在しない)があります!彼らの前では。私はあなたが右のトラックをクリックするとこれを知っています!その前にGetInfoを選択して(いいえを選んで、見つけないでください)。 [概要]タブの下には、曲のパスを示すセクションがあります(機能していません)。 iTumes COMを使用してトラックの位置を取得しようとすると、IITFileOrCDTrack.locationは空の文字列を返します。では、Getinfo - > Summaryタブの "where"値をどのように取得するのですか?iTunes COM。 C#でトラックの古い場所を取得するには?

現在、私は現在どのように(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. 

答えて

1

ファイルが検出されると、「どこで」値がC:\...を示したが、ファイルが見つからない場合、それはiTunesの中file:\\C:\...示し、およびコードから、あなたはLocationプロパティを使用して場所にアクセスすることができます(

HRESULT Location ([out, retval] BSTR *location)

戻り値: - バグはおそらく、あなたのコードで '場所')SDKのドキュメントから

の 'L' を活用しますこのトラックによって表されるファイルへのフルパス。

パラメータ: locationこのトラックが表すファイルへのフルパスを返します。

戻り値:

S_OK操作が成功しました。
S_FALSE場所を取得できませんでした(たとえば、予想される場所にファイルが存在しないなど)。
E_POINTER位置はNULLです。
ITUNES_E_OBJECTDELETEDこのトラックは削除されました。
E_FAIL予期しないエラーが発生しました。

私は、ファイルが見つからない、とヌルIITFileOrCDTrack.Locationから返さ取得するときに、iTunesで「どこ」の値を参照してくださいつまり、(これを再現することができました。私はそれはそれでない限りだとは思いません文書化されていないため、実際のファイルが見つからない場合は値を返すことはできません。

関連する問題