【问题标题】:iOS Advanced Audio API for decompressing format用于解压缩格式的 iOS 高级音频 API
【发布时间】:2011-11-05 02:28:17
【问题描述】:

在 iOS 上,是否可以以解压缩格式获取用户的音频流?例如,将 MP3 作为可用于音频分析的 WAV 返回?我对 iOS 平台比较陌生,我记得在旧的 iOS 版本中这是不可能的。我读到 iOS 4 引入了一些高级 API,但我不确定在哪里可以找到这些的文档/示例。

【问题讨论】:

  • 你的意思是要转换音频的格式??
  • 最终我希望能够分析音频并做到这一点,我需要未压缩的音频流。第一步是从压缩格式转换为未压缩格式。
  • “获取用户的音频流”是什么意思?拦截用户当前正在收听的音频?访问用户的 iPod 库并分析 LPCM 中的音频?还是听麦克风?
  • 用户库中的任何歌曲,但实际解压缩的流,以便可以对其进行修改。

标签: iphone objective-c ios audio audio-analysis


【解决方案1】:

Apple 在 http://developer.apple.com/library/mac/#samplecode/OpenALExample/Introduction/Intro.html 有一个 OpenAL 示例,您应该对 Scene.m 感兴趣。

Apple 文档中有这个picture,其中 Core Audio 框架清楚地表明它可以为您提供 MP3。 states 还可以根据需要以更激进的方式访问音频单元。

如果对您有帮助的话,同一个 Core Audio 文档还提供了一些有关使用 MIDI 的信息。

编辑: 你今天是in luck

【讨论】:

    【解决方案2】:

    this example 中,一个音频文件被加载并馈送到一个 AudioUnit 图表中。您可以相当轻松地编写自己的 AudioUnit 并将其放入此图中,并根据您认为合适的方式分析 PCM 流。您甚至可以在回调函数中执行此操作,尽管这可能不是一个好主意,因为我们鼓励回调尽可能简单。

    【讨论】:

      【解决方案3】:

      如果您不介意使用适用于 iOS 4.1 及更高版本的 API,您可以尝试使用 AVAssetReader 类和朋友。 In this similar question you have a full example on how to extract video frames。我希望同样适用于音频,而且好处是读者可以处理解压缩的所有细节。您甚至可以使用AVComposition 进行合成以合并多个流。

      这些类是AVFramework 的一部分,它不仅可以阅读,还可以创建您自己的内容。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-08-09
        • 2013-03-30
        • 2014-10-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多