【问题标题】:Audio driver for iOS and OSX based on Core Audio基于 Core Audio 的 iOS 和 OSX 音频驱动
【发布时间】:2015-10-01 03:57:44
【问题描述】:

是否有可能为 iOS 和 OSX 提供基于 Core Audio 的音频驱动桥的通用实现?或者 iOS 的 Core Audio API 与 OSX 的 Core Audio API 有区别吗?

音频桥只需要支持以下方法:

  1. 设置所需的采样率
  2. 设置所需的音频块大小(以样本为单位)
  3. 开始/停止麦克风流
  4. 开始/停止扬声器流

应用程序向音频桥提供 2 个回调函数指针,并且音频桥设置所有内容,以便:

  1. 扬声器回调在要求返回音频块的固定时间间隔内调用
  2. 在接收音频块的固定时间间隔调用麦克风回调

有人告诉我,不可能有一个同时适用于 iOS 和 OSX 的实现,因为 iOS Core Audio API 和 OSX Core Audio API 之间存在差异。

这是真的吗?

【问题讨论】:

    标签: ios macos core-audio


    【解决方案1】:

    OS X 和 iOS 上的 Core Audio API 之间没有显着差异。然而,在为麦克风和扬声器获取正确的音频单元方面存在显着差异。 iOS 上只有 2 个单元(RemoteIO 和一个用于 VOIP),但在 Mac 上可能更多,而且用户可能会更改选择。硬件允许/支持的一些音频单元参数(缓冲区大小、采样率等)也存在差异。

    【讨论】:

    • 我编写了音频 IO 封装对象,其中 iOS 和 OS X 代码之间的几乎所有差异都在于 ifdef 周围的音频单元发现和用户选择。
    猜你喜欢
    • 2021-06-22
    • 2012-02-16
    • 2011-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-14
    • 1970-01-01
    • 2018-12-07
    相关资源
    最近更新 更多