gpt4 book ai didi

macos - iTunes插件编程: Intercept Events

转载 作者:行者123 更新时间:2023-12-02 02:35:59 24 4
gpt4 key购买 nike

从 iTunes 中捕获事件有什么好的解决方案吗?

我想构建一个位于 iTunes 内部的插件,并响应特定歌曲的评级变化。对于 Windows,他们有一个我还没有深入研究的 SDK,但我也想为 Mac 找到一些东西。

有什么建议吗?

最佳答案

据我所知,Apple 提供免费(零成本)SDK适用于 OS X 和 Windows 的 iTunes 可视化插件。如果你不能通过它得到你需要的东西,你可以总是使用 iTunes Apple Events 脚本接口(interface)通过使用 OSA 兼容接口(interface)(如 AppleScript 或 appscript)从另一个 OS X 应用程序进行轮询来监控。使用 Python、Ruby 或 Objective-C。这可能不是您想要的,但已记录并得到支持。

例如,使用 py-appscript,下面是如何访问当前轨道和最近播放的智能列表中的轨道:

>>> from appscript import *
>>> it = app('iTunes')
>>> it.current_track.rating() # 40 == 2 stars
40
>>> len(it.playlists['Recently Played'].tracks())
80
>>> it.playlists['Recently Played'].tracks[1].rating()
40
>>> it.playlists['Recently Played'].tracks[1].rating.set(to=100)
>>> it.playlists['Recently Played'].tracks[1].rating() # 100 = 5 stars
100

也可以过滤各种元数据字段(在 AppleScript 脚本编辑器中打开 iTunes.app 脚本定义进行浏览):

>>> import datetime
>>> an_hour_ago = datetime.datetime.now() - datetime.timedelta(hours=1)
>>> it.playlists['Library'].tracks[its.modification_date >= an_hour_ago]()
[app(u'/Applications/iTunes.app').sources.ID(45).library_playlists.ID(49347).file_tracks.ID(72017)]

但请注意,评级的更改似乎不会影响修改日期。

关于macos - iTunes插件编程: Intercept Events,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1740613/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com