【问题标题】:Offline sound recording in iphoneiphone离线录音
【发布时间】:2010-06-09 11:13:34
【问题描述】:

我正在 iphone 中开发一个音乐混音应用程序。它将混合音乐,用户可以从中创作新音乐。我需要录制最后的音乐。我曾使用 AVAudiorecorder 录制这个。但没有变化。它可以从麦克风录制声音,但我需要录制应用程序声音。

我使用了音频队列回调函数来录制音频。但是当应用程序运行时,我可以听到我的应用程序的音频,而我听不到录制的音频中的任何声音。录音没有问题,因为我可以听到通过麦克风录制的音频。但我需要一个离线录音机,它可以记录iphone的音频输出,而不是通过麦克风输入的音频。我需要一台可以使用 ipod touch(无麦克风)录制音频的录音机。

有什么帮助吗?

【问题讨论】:

    标签: iphone-sdk-3.0 audio-recording mixing


    【解决方案1】:

    我以另一种方式找到了解决方案。我使用的音频图由两个音频单元组成。数字混音器和输出音频单元。我创建了带有六个通道的混音器,这样我就可以同时演奏六种乐器。当用户创作音乐时,我会保存内容,在离线录制期间,我会将保存的乐器排序到混音器。

    为了获得更好的性能,我将在加载新的音频或乐器文件时停止音频图表。 加载文件后,将重新开始录制。

    在混音器的输入播放功能中,根据输入的总线号,将音频包送入混音器。在输出音频单元的输入回放中,分配了一个新的缓冲区来存储混音器的输出。混音器输出是使用音频渲染功能创建的。由于我没有修改音频输入缓冲区,因此应用程序之外不会有声音。最后我有了一个离线录音机。

    步骤

    1. 使用录音和播放模式创建音频会话
    2. 使用混音器和音频输出单元创建音频图。
    3. 配置混音器通道或输入总线编号(音频流的数量)。
    4. 为混音器和音频单元创建输入播放方法。
    5. 将源和目标音频格式配置到音频单元输入和输出总线。
    6. 使用目标格式创建音频文件(用于 AAC 编码检查以支持 AAC 编码)。
    7. 获取音频文件并开发一种方法来为指定通道提供音频数据包。
    8. 在混音器的音频输入播放中配置音频文件提取。
    9. 在输出单元的音频输入播放中,使用音频渲染功能在新的音频缓冲区中获取混音器输出。将音频缓冲区存储到打开的音频文件中。
    10. 使用音频图停止暂停录制并使用音频图启动方法恢复录制。在此时间间隔内配置新的声音文件提取。
    11. 最后停止录制并关闭音频文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-06
      • 1970-01-01
      相关资源
      最近更新 更多