Как получить имя файла трека из библиотеки

#c# #itunes-sdk

Вопрос:

Я пытаюсь прочитать все плейлисты и музыкальный файл в каждом плейлисте.

Вот мой код на C#:

 iTunesAppClass iTunesAppClass = new iTunesAppClass(); IITSourceCollection sources = iTunesAppClass.Sources; foreach (IITSource src in sources) {  if (src.Name == "Library")  {  IITPlaylistCollection pls = src.Playlists;  foreach (IITPlaylist p in pls)  if (p.Kind == ITPlaylistKind.ITPlaylistKindUser)  {  var pname = p.Name;  IITTrackCollection tracks = p.Tracks;  foreach (IITTrack track in tracks)  {  var name = track.Name;  string filename = "???"; // How to get the file name of the mp3 file?  }  }  } }  

Итак, в последней строке я получаю Трек.Имя, которое, по-видимому, является названием песни.

Как я могу получить полный путь и имя файла трека?

Комментарии:

1. Какой библиотекой вы пользуетесь? Может быть, вам следует проверить документы на тип IITTrack

Ответ №1:

Вы работали над такой древней библиотекой. Вот способ найти имя файла:

 foreach (IITTrack track in tracks) {  var name = track.Name;  if (track.Kind == ITTrackKind.ITTrackKindFile) { // it is a file track  // Cast it as file track  IITFileOrCDTrack fileTrack = (IITFileOrCDTrack)track;  // Check if it's a valid path  if (!String.IsNullOrEmpty(fileTrack.Location)) {  string filepath = fileTrack.Location; // here you go  }  } }  

На самом деле я не запускал приведенный выше код (я нашел аналогичный код в фрагменте, написанном в 2007 году). Вы можете попробовать это сами.

Комментарии:

1. Сработало очень хорошо. Спасибо.