【问题标题】:Send audio from QTMovie over internet通过互联网从 QTMovie 发送音频
【发布时间】:2011-10-11 04:52:56
【问题描述】:

我有一个简单的音频播放应用程序,它使用 QTMovie 来实现它的一些功能。我还在开发一个支持以太网的小板来传输 MP3 或 PCM 数据。

有什么方法可以“抓取”QTMovie 输出的内容,将其格式化为字节数组并通过以太网将其发送到特定 IP?不知何故,iTunes 设法通过 AirPlay 做到这一点,所以有某种方法可以做到这一点。

感谢您的任何回答!

【问题讨论】:

    标签: cocoa streaming qtkit


    【解决方案1】:

    您可能想看看像 Rogue Ameoba 的机翼这样的现成产品:

    http://www.rogueamoeba.com/airfoil/mac/

    但如果你真的想亲自动手开发一些东西,看起来QTMovie只是输出到Core Audio,你可以设置哪个设备:

    http://developer.apple.com/library/mac/#qa/qa1578/_index.html

    有一些关于拦截 Core Audio 设备的程序如何做到这一点的问答:

    Code sample for capturing audio from a Mac in Cocoa and saving to file?

    【讨论】:

    • 请注意,QA1578 中的 API 要求您使用旧的 Quicktime 框架。如果你只使用 QTKit(例如,在 64 位 Mac OS X 上),你不能走那条路。
    • 所以要在我的 Mac OS X 10.7 上的应用程序中获取这些数据,我需要将我的应用程序仅编译为 32 位,或者它根本不起作用?
    • Jonathan 的注释似乎专门关于 API 技术说明,用于告诉 QTMovie 输出到哪个系统音频设备(理论上可能是您自己的自定义驱动程序)。虽然像 Logic 这样的程序有它是必要的,但它看起来像 iTunes 等由于某些(愚蠢的)原因而缺少这个。在任何情况下,如果您乐于在机器上滑动所有应用程序的混合音频输出,剩下的答案将适用,其中 QTMovie 可能不是唯一的组件。
    • 我想知道 iTunes 是如何做到这一点的。我假设要做到这一点,我需要在 QuickTime 的声音输出到达驱动程序并拦截它之前以某种方式“挂钩”它,或者只是滚动我自己的音频解码器,这可能是最简单的。我可能会使用 CoreAudio 来查看它在声音播放部门提供的功能以及如何从那里获取原始样本数据。
    猜你喜欢
    • 2013-09-24
    • 1970-01-01
    • 2012-01-06
    • 1970-01-01
    • 2012-04-12
    • 1970-01-01
    • 1970-01-01
    • 2014-07-13
    • 1970-01-01
    相关资源
    最近更新 更多