如何从库中获取曲目文件名
How to get track filename from library
我正在尝试读取所有播放列表和每个播放列表中的音乐文件。
这是我的 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?
}
}
}
}
所以,在最后一行,我得到 Track.Name,这似乎是歌曲的标题。
如何获取曲目的完整路径和文件名?
您曾在如此古老的图书馆工作过。下面是查找文件名的方法:
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 年编写的代码片段中发现了类似的代码)。你可以自己试试。
我正在尝试读取所有播放列表和每个播放列表中的音乐文件。
这是我的 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?
}
}
}
}
所以,在最后一行,我得到 Track.Name,这似乎是歌曲的标题。
如何获取曲目的完整路径和文件名?
您曾在如此古老的图书馆工作过。下面是查找文件名的方法:
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 年编写的代码片段中发现了类似的代码)。你可以自己试试。