【问题标题】:AirPlay API for Mac OS XMac OS X 的 AirPlay API
【发布时间】:2023-03-03 10:51:01
【问题描述】:

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

【问题讨论】:

    标签: objective-c cocoa audio streaming airplay


    【解决方案1】:

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

    我猜 Airfoil 使用了类似于 DVD John 不久前破解 Airport Express 密钥有效载荷时所做的事情。他发布了代码(C#),你应该可以找到它,但它非常神秘。

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

    【讨论】:

      【解决方案2】:

      acouple的开源RAOP播放器可用;我还没有尝试过,所以我不知道 Apple 在编写它们时是否已经破坏了它们。

      【讨论】:

        【解决方案3】:

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

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

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

        【讨论】:

        • 这个问题是关于发送到 AirPlay 接收器的问题。这不需要私钥。
        【解决方案4】:

        这是一个开源的 ruby​​ 实现。这很简单。 https://github.com/elcuervo/airplay

        【讨论】:

          【解决方案5】:

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

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

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

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

          【讨论】:

          • 为了澄清,我在一个 OS X 应用程序上工作,它派生了一个 node.js 进程用于音频输出。该模块还绑定到 CoreAudio,因此您无需为此设置特殊情况。
          • 我不清楚你是如何在 OS X 中分叉 nodejs 进程的。你的意思是 OS X 应用程序使用 nodejs 作为 AirPlay 客户端吗?
          • 我使用了NSTask,正如question 中所述。该应用程序对所有音频(本地 + AirPlay)使用单独的 node.js。此过程由通过标准输入/标准输出发送的命令控制。您在示例中有基础。
          【解决方案6】:

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2012-03-17
            • 2011-12-19
            • 2011-08-24
            • 2012-08-09
            相关资源
            最近更新 更多