1

现在,我正在使用以下方法获取当前播放歌曲的信息:

MPMusicPlayerController *controller = [MPMusicPlayerController iPodMusicPlayer];

但是,这仅适用于实际通过 iPod 播放器播放的曲目。

我想知道是否有办法从接管 iPod 音乐播放器底座的其他应用程序中获取相同类型的信息。Spotify、Downcast、Instacast 等应用。

4

2 回答 2

0

经过进一步调查,似乎只能从 iPod 播放器中获取元数据。

于 2012-12-21T13:44:11.040 回答
0

不完全确定您要查找的内容,但您可能可以使用 AVURLAsset 从实际文件中获取元数据。我用它来查找 mp3 和 m4a 文件的元数据,但可能还有其他可用格式。有关详细信息,请参阅文档。

AVURLAsset *asset = [[AVURLAsset alloc] initWithUrl:@"song.mp3" options:nil];
if (asset != nil)
{
    NSArray *formatArray = asset.availableMetadataFormats;
    if ([formatArray count] > 0)
    {
        NSArray *array = [asset metadataForFormat:[formatArray objectAtIndex:0];
        NSString *artist = @"";
        NSString *songTitle = @"";

        for (AVMetadataItem *metadata in array)
        {
             if ([metadata.commonKey isEqualToString:@"artist"])
                artist = metadata.stringValue;
             else if ([metadata.commonKey isEqualToString:@"title"])
                songTitle = metadata.stringValue;
             etc, ...
        }
     }
}
于 2012-11-28T01:41:56.117 回答