gpt4 book ai didi

objective-c - 使用 NSDistributedNotificationCenter for iTunes 在歌曲信息更改时获取通知

转载 作者:太空狗 更新时间:2023-10-30 03:57:59 25 4
gpt4 key购买 nike

我知道您可以使用 [iTunesDNC addObserver:self selector:@selector(updateInfo:) name:@"com.apple.iTunes.playerInfo"object:nil]; 来获取通知播放器更改歌曲/停止/播放/等的时间。但我需要的是每次 iTunes 上的信息发生变化时的通知(例如歌曲名称更改、歌词更改、艺术家等)

有什么建议吗?我很确定我只需要将 com.apple.iTunes.playerInfo 更改为不是 playerInfo 的其他内容。

我知道这应该是可行的,因为有一个名为 SongGenie 的应用程序如果您在 iTunes 上编辑歌曲的 ID3 标签或添加歌词,它将更改其信息。

谢谢!

最佳答案

是的,有办法。每次更改歌曲信息时,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);
}

关于objective-c - 使用 NSDistributedNotificationCenter for iTunes 在歌曲信息更改时获取通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5845865/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com