Jak*_*rer 2 cocoa applescript communication
基本上,我需要知道有人在iTunes中播放.我理解如何使用Apple的Scripting Bridge控制iTunes,但我似乎无法让iTunes控制我的应用程序.这可能吗?
谢谢!
一般来说,不可能弄清楚其他应用程序正在做什么事件,没有.您也无法找到iTunes中按下播放按钮的时间.即使您要捕捉鼠标按下事件,您也必须以某种方式弄清楚当时iTunes的播放按钮是否在其下面.
但是,在这种情况下,你可以做的是注册iTunes开始播放时发布的通知.Dave DeLong已经解决了这个问题.
// Register for notifications, perhaps in awakeFromNib
NSDistributedNotificationCenter *dnc = [NSDistributedNotificationCenter defaultCenter];
[dnc addObserver:self
selector:@selector(iTunesTrackDidChange:)
name:@"com.apple.iTunes.playerInfo"
object:nil];
Run Code Online (Sandbox Code Playgroud)
- (void)iTunesTrackDidChange:(NSNotification *)note {
NSLog(@"%@", [note userInfo]);
}
Run Code Online (Sandbox Code Playgroud)
这并没有给你所有你希望的东西; 分布式通知很昂贵,所以iTunes很节俭.当曲目开始播放时,您会收到通知,就是这样; 没有停止,没有音量,跳跃音轨和从停止开始播放之间没有区别.但是,通知确实有很多关于轨道本身的信息:几乎所有iTunes元数据和一些文件信息.
希望这很有用!
| 归档时间: |
|
| 查看次数: |
257 次 |
| 最近记录: |