AirPlay API для Mac OS X

Есть ли в настоящее время какой-либо API (общедоступный или частный), который позволит стороннему приложению Mac OS X передавать звук на приемники AirPlay? Airfoil от Rogue Amoeba Software, похоже, может это сделать, то же самое касается AirFlick, но мне не удалось найти какой-либо исходный код, демонстрирующий, как это сделать. Любые указатели приветствуются!


person indragie    schedule 06.03.2011    source источник


Ответы (6)


Вот реализация Ruby с открытым исходным кодом. Это довольно просто. https://github.com/elcuervo/airplay

person Morgan    schedule 03.12.2011

Оказалось, что потоковая передача звука AirPlay возможна в OS X 10.8 с использованием общедоступных API, но нигде не документирована. Йорис Клуиверс написал отличный сообщение в блоге о том, как это сделать.

person indragie    schedule 23.06.2013

Есть a доступна пара RAOP-плееров с открытым исходным кодом; Я не пробовал их, поэтому не знаю, сломала ли Apple их с тех пор, как они были написаны.

person Nicholas Riley    schedule 15.03.2011

Mountain Lion (OS X 10.8) добавил поддержку AirPlay в настройках звука. Пользователь может выбрать отправку локального звука на устройство AirPlay. Однако я не думаю, что у вас есть доступ к какому-либо API в вашем приложении.

Есть несколько библиотек для реализации AirPlay, но знайте, что Apple отклонит ваше приложение, если вы попытаетесь опубликовать его в App Store. По крайней мере, так случилось со мной.

Я написал модуль node.js для поддержки AirPlay. Даже если вы не используете узел, вы можете просто передать свои аудиоданные через стандартный ввод.

https://github.com/lperrin/node_airtunes/

person Laurent Perrin    schedule 03.08.2012
comment
Чтобы уточнить, я работал над приложением OS X, которое разветвляло процесс node.js для вывода звука. Модуль также имеет привязки к CoreAudio, поэтому вам не нужно делать для этого особый случай. - person Laurent Perrin; 03.08.2012
comment
Мне непонятно, как вам удалось разветвить процесс nodejs в OS X. Вы имеете в виду, что приложение OS X использовало nodejs в качестве клиента AirPlay? - person loretoparisi; 19.10.2012
comment
Я использовал NSTask, как описано в этом вопросе. Приложение использует отдельный node.js для всего аудио (локальный + AirPlay). Этот процесс контролируется командами, отправляемыми через stdin / stdout. У вас есть основание для этого в примерах. - person Laurent Perrin; 19.10.2012

Я не думаю, что это доступно. По крайней мере, не в версиях до 10.7.

Я предполагаю, что Airfoil использует что-то вроде DVD, которое Джон сделал некоторое время назад, когда взломал полезную нагрузку ключа Airport Express. Он выпустил код (C #), вы должны его найти, но он довольно загадочный.

Я не знаю, что использует AirFlick, но вы всегда можете попробовать связаться с Эрикой, она обычно делится своими материалами.

person hjaltij    schedule 15.03.2011

Кому-то недавно удалось получить закрытый ключ AirPlay, который позволяет отображать вашу программу в меню AirPlay на устройствах в вашей сети.

Вы можете прочитать об этом здесь. На этой странице также есть ссылка на проект с открытым исходным кодом. http://mafipulation.org/blagoblig/2011/04/08#shairport

Имейте в виду, что очевидно, что любое созданное вами приложение никогда не будет одобрено Apple, и закрытый ключ потенциально может быть изменен при обновлении прошивки / программного обеспечения.

person Ben    schedule 23.04.2011
comment
Этот вопрос касается отправки на приемники AirPlay. Для этого не требуется закрытый ключ. - person Nicholas Riley; 24.04.2011