适用于Mac OS X的AirPlay API

时间:2011-03-06 18:54:04

标签: objective-c cocoa audio streaming airplay

目前是否有任何API(公共或私人)允许第三方Mac OS X应用程序将音频流式传输到AirPlay接收器? Rogue Amoeba Software的Airfoil似乎能够做到这一点,Erica Sadun的AirFlick同样如此,但是我无法找到任何可以证明如何做到这一点的源代码。任何指针都表示赞赏!

6 个答案:

答案 0 :(得分:4)

这是一个开源ruby实现。这很直接。 https://github.com/elcuervo/airplay

答案 1 :(得分:4)

事实证明,使用公共API从 OS X 10.8 开始可以使用AirPlay音频流,但在任何地方都没有真正记录。 Joris Kluivers在如何实现这一目标方面写了一篇很棒的blog post

答案 2 :(得分:2)

a couple个开源RAOP播放器可用;我没有尝试过,所以我不知道Apple是否因为写完而打破了它们。

答案 3 :(得分:1)

Mountain Lion(OS X 10.8)在声音设置中添加了AirPlay支持。用户可以选择将本地声音输出发送到AirPlay设备。但是,我认为您无法访问应用中的任何API。

有一些库可用于实施AirPlay,但是如果您尝试在App Store上发布它,Apple会拒绝您的应用。至少,这就是发生在我身上的事情。

我写了一个node.js模块来支持AirPlay。即使您不使用节点,也可以通过stdin管道音频数据。

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

答案 4 :(得分:0)

我认为它不可用。至少在10.7之前的版本中没有。

我猜测Airfoil使用像John John那样的东西,当他破解Airport Express密钥有效载荷时。他发布了你应该能够找到它的代码(C#),但它非常神秘。

我不知道AirFlick使用的是什么,但你总是可以尝试ping Erica,她通常会分享她的东西。

答案 5 :(得分:0)

最近有人设法获取AirPlay私钥,该私钥允许您将程序列在网络设备上的AirPlay菜单中。

你可以在这里阅读。还有一个从该页面链接的开源项目。 http://mafipulation.org/blagoblig/2011/04/08#shairport

请注意,您创建的任何应用程序显然都不会被Apple批准,并且可能会在固件/软件更新中更改私钥。