0

我正在尝试观察本地网络机器上的 iTunes 曲目变化。我有一个脚本桥对象,可以向它传递命令,但为了找出任何信息,我必须轮询它。我认为分布式对象可能是一种解决方案,但我不确定是否可以通过这种方式观察任何值。有没有人在这方面取得任何成功?

4

1 回答 1

0

要以这种方式在网络上使用分布式对象,您需要在 iTunes 机器上运行一个服务器,您的本地机器上的客户端连接到该服务器。分布式对象是一种相对简单的方法。

您可以使用分布式通知来收听 iTunes 曲目更改通知,但这些通知仅发布在本地计算机上,因此您的服务器需要侦听这些通知然后通知客户端。您可以像这样注册通知:

NSDistributedNotificationCenter* nc = [NSDistributedNotificationCenter defaultCenter];
[nc addObserver:self
       selector:@selector(trackChanged:)
           name:@"com.apple.iTunes.playerInfo"
         object:nil];

您的trackChanged:方法如下所示:

- (void)trackChanged:(NSNotification*)notification
{
    NSLog(@"%@",notification);
    //do something with [notification userInfo].
}
于 2012-03-16T23:51:36.577 回答