我知道每次玩家更改歌曲/停止/播放等时,您都可以使用[iTunesDNC addObserver:self selector:@selector(updateInfo:) name:@"com.apple.iTunes.playerInfo" object:nil];
来获取通知。但我需要的是每次在iTunes上更改信息时的通知(例如歌曲标题已更改,歌词更改,艺术家等)
有什么建议吗?我很确定我只需要将 com.apple.iTunes.playerInfo 更改为其他不是 playerInfo 的内容。
我知道它应该是可行的,因为如果您在iTunes上编辑歌曲的ID3标签或添加歌词,有一个名为SongGenie的应用会更改其信息。
谢谢!
答案 0 :(得分:12)
是的,有办法。每次更改歌曲信息时,iTunes都会发布“ com.apple.iTunes.sourceSaved ”通知,其userInfo字典是用户的库。
您可以通过收听发布到分布式通知中心的每个通知来查看iTunes发送的此通知和其他通知。
[[NSDistributedNotificationCenter defaultCenter] addObserver:self
selector:@selector(allDistributedNotifications:)
name:nil
object:nil];
- (void) allDistributedNotifications:(NSNotification *)note
{
NSString *object = [note object];
NSString *name = [note name];
NSDictionary *userInfo = [note userInfo];
NSLog(@"<%p>%s: object: %@ name: %@ userInfo: %@", self, __PRETTY_FUNCTION__, object, name, userInfo);
}
答案 1 :(得分:0)