【问题标题】:Objective-C, constantly run method whilst Mac OS X application is runningObjective-C,在 Mac OS X 应用程序运行时不断运行的方法
【发布时间】:2011-02-02 23:26:06
【问题描述】:

我目前正在用 Objective-C 编写一个应用程序,它显示当前在 iTunes 中播放的歌曲的艺术家姓名,但是我希望在歌曲更改时更新艺术家姓名。

这是我目前获得艺术家姓名并设置 NSTextField 以显示艺术家姓名的方法。

 - (void)updateArtistName {
iTunesApplication *iTunes = [SBApplication applicationWithBundleIdentifier:@"com.apple.iTunes"];
     NSString *artistNameString = [NSString stringWithFormat:@"%@", [[iTunes currentTrack] artist]];
     [artistName setStringValue:artistNameString];}

任何帮助将不胜感激,谢谢,Sami。

【问题讨论】:

  • 呃..这里有问题吗?没有问号或疑问词。

标签: objective-c xcode itunes scripting-bridge


【解决方案1】:

您正在寻找的是:NSDistributedNotificationCenter。 http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/Notifications/Articles/Registering.html

要找出大多数人建议使用 iTunes 发送的通知:https://github.com/kballard/NotificationWatcher

【讨论】:

  • 当歌曲发生变化时,iTunes 会发布分布式通知吗?
  • 是的,确实如此。不过,我不记得通知名称了。
  • 从 NotificationWatcher 可以看出,Itunes 将发送分布式通知 com.apple.iTunes.playerInfo
  • 感谢大佬的帮助,会调查的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-03
  • 1970-01-01
  • 2014-11-25
  • 1970-01-01
  • 2010-10-09
相关资源
最近更新 更多