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