所以我必须用 C# 开发一个全屏应用程序,我想知道是否有一种方法可以控制在同一台 PC 上运行的 iTunes/Apple Music(在后台)。我想要播放/暂停、下一个、上一个、MAAAYBE 甚至选择播放列表之类的东西。
这是可能吗?
所以我必须用 C# 开发一个全屏应用程序,我想知道是否有一种方法可以控制在同一台 PC 上运行的 iTunes/Apple Music(在后台)。我想要播放/暂停、下一个、上一个、MAAAYBE 甚至选择播放列表之类的东西。
这是可能吗?
问题的答案:“我可以自动化......”是 -是的。
iTunes是兼容DACP的音乐播放器 ( https://en.wikipedia.org/wiki/Digital_Audio_Control_Protocol )。
社区有多种 DACP 实现,但主要缺点是:
DACP 协议是 100% RESTful HTTP 调用,必须通过“嗅探”Itunes 和 Apple Remote 之间的通信进行反向工程。每次 Apple 更改某些内容时,即使是最轻微的更改,这都是一项乏味的任务,并且个别开发人员需要完成大量工作。
这是如何完成的一个不错的例子: https ://github.com/scott-t/iMote
但是,为了编译和运行它,你需要填写引用,除非你想为 framework 3.5 编译,否则你需要替换一些代码。从好的方面来说,使用的Zeroconf还支持.net 核心和异步调用。
在灰色的较暗面,您可以选择反编译您知道已经执行此操作的应用程序。流行的 .net 反编译器是 ILSpy 和 ReSharper。