Управление Apple Music/iTunes из другого приложения, работающего на том же ПК
Поэтому мне нужно разработать полноэкранное приложение на C#, и мне было интересно, есть ли способ управления iTunes/Apple Music, который работает на том же ПК (в фоновом режиме). Я хотел бы что-то вроде play/pause, next, previous, MAAAYBE, даже выбирая плейлисты.
Это вообще возможно?
1 ответ
Ответ на вопрос: "Могу ли я автоматизировать..." - да.
iTunes - это DACP- совместимый музыкальный проигрыватель ( https://en.wikipedia.org/wiki/Digital_Audio_Control_Protocol).
Сообщество имеет несколько реализаций DACP, но главный недостаток заключается в том, что:
Протокол DACP - это HTTP-вызовы на 100% RESTful, которые необходимо реверсировать, "перехватывая" связь между Itunes и Apple Remote. Это утомительная задача каждый раз, когда Apple что-то меняет, хотя бы малейшим образом, отдельным разработчикам предстоит проделать большую работу.
Достойный пример того, как это делается: https://github.com/scott-t/iMote
Однако, чтобы скомпилировать и запустить его, вам нужно заполнить ссылки, и если вы не хотите скомпилировать для фреймворка 3.5, вам нужно заменить часть кода. С другой стороны, используемый Zeroconf также поддерживает ядро.net и асинхронные вызовы.
На темных сторонах серого у вас есть возможность декомпилировать приложение, которое, как вы знаете, уже делает это. Популярными декомпиляторами.net являются ILSpy и ReSharper.