【问题标题】:Receiving an event when other applications (iTunes or Spotify) do something当其他应用程序(iTunes 或 Spotify)执行某些操作时接收事件
【发布时间】:2013-03-17 13:23:18
【问题描述】:

我对 Objective-C 和 OSX 开发还很陌生,所以我仍在学习如何找到这些答案...

是否有一个通用库允许您在其他应用程序中执行特定操作时接收事件?

具体来说,当 iTunes 或 Spotify 开始播放音频并停止播放音频时,我正在尝试在我的应用程序中接收事件。

我已经为每个应用程序实现了一个脚本桥,它允许我从每个应用程序获取播放状态,但我希望能够在我关心的操作被执行时接收事件 - 而不是必须不断地为他们投票。此外,iTunes 和 Spotify 无疑是其中两个流行的音乐播放器,但我还想支持其他一些(如 Rdio 和 MOG)。为每个特定的音乐播放器编写一个实现似乎有点疯狂 - 但也许这正是我必须做的。

我们也感谢任何有助于阅读的见解、提示或链接。

谢谢!

【问题讨论】:

    标签: objective-c macos itunes spotify


    【解决方案1】:

    当播放状态发生变化时,Spotify 客户端会发出一个名为 com.spotify.client.PlaybackStateChanged 的分布式通知,每次调用时都会包含许多元数据键。您可以使用 NSDistributedNotificationCenter 在您的应用程序中观察这一点。

    iTunes 也有一个叫com.apple.iTunes.playerInfo

    【讨论】:

    • 谢谢!是否有可从苹果应用订阅的通知名称列表?或发现它们的特定方式?
    • 我不知道,但您可以使用 Notification Watcher (github.com/kballard/NotificationWatcher) 在它们发生时实时查看它们。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-06-10
    • 1970-01-01
    • 2013-04-21
    • 1970-01-01
    • 1970-01-01
    • 2018-09-20
    • 1970-01-01
    相关资源
    最近更新 更多