【问题标题】:iPhone SDK: Is it possible to process audio file from local libraryiPhone SDK:是否可以处理本地库中的音频文件
【发布时间】:2010-07-19 08:06:50
【问题描述】:

好吧,我会尽量不要把它当作“我只想要代码”的问题......

我最近正在开展一个项目,该项目需要对本地音乐文件(例如 iTunes 库)进行一些音频信号处理。整个作品包括:

  1. 获取音频文件的 PCM 数据(通常来自 iTunes 库);
  2. 将PCM数据写入新文件(苹果好像不允许直接修改音乐曲目);
  3. 做一些处理和修改,比如过滤器、操纵器等。
  4. 播放处理过的曲目。

问题是,在浏览了一些博客和讨论之后:

http://lists.apple.com/archives/coreaudio-api/2009/Aug/msg00100.html, http://atastypixel.com/blog/using-remoteio-audio-unit/

http://osdir.com/ml/coreaudio-api/2009-08/msg00093.html

除了官方的示例代码,我感觉 CoreAudio SDK 允许我们仅对从 Mic 录制的语音演示应用音频处理

我的问题是:

  1. 我可以从 iTunes 库曲目而不是麦克风输入中获取原始数据吗?
  2. 如果第一个问题是“否”,有没有办法“欺骗”SDK,让它认为它是从麦克风输入获取数据,而不是从 iTunes 获取数据? (在 XD 之前,我在 C# 中做过一些类似的“黑客”工作)
  3. 如果整个处理都不起作用,谁能提供一些替代想法?

任何帮助将不胜感激。非常感谢:-)

谢谢。

【问题讨论】:

    标签: iphone signal-processing core-audio


    【解决方案1】:

    昨天刚发现很酷的东西。

    从 iPhone 媒体库到 PCM 样本的数十个令人困惑的、可能有损失的步骤

    (http://www.subfurther.com/blog/?p=1103

    还有一个 MIT 的类库:

    TSLibraryImport:Objective-C 类 + 用于在 iOS4 中从用户的 iPod 库导入文件的示例代码。

    (http://bitbucket.org/artgillespie/tslibraryimport/changeset/a81838f8c78a

    希望他们有所帮助!

    干杯,

    曼卡

    【讨论】:

      【解决方案2】:

      1) 不可以。Apple 不允许直接访问歌曲的 PCM 数据。否则,您可能会创建音乐共享应用程序,这不符合 Apple 的利益。

      2) 不。由于 Apple 的代码批准机制,黑客和获得批准是不可能的。

      3) 我能想到的唯一选择是您必须在 PC/Mac 上完成处理部分,然后将其传输到 iPhone。或者您必须将文件存储在您自己的应用程序文件夹中 - 您应该能够通过 CoreAudio 加载和处理这些文件。

      【讨论】:

      • 刚刚找到一些解决方案。请参考我下面的答案:)
      【解决方案3】:

      我知道这个帖子很旧,但是……这对你有用吗,曼卡?这个应用获得批准了吗?

      编辑:刚刚发现自 iOS 4.1 以来引入的 AVAssetReader 类应该会有所帮助

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-04-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多