Ios 在音频文件中录制我的应用程序生成的所有声音(不是从麦克风)

Ios 在音频文件中录制我的应用程序生成的所有声音(不是从麦克风),ios,xcode,audio,avaudiorecorder,Ios,Xcode,Audio,Avaudiorecorder,我有一个像乐器一样的屏幕。有播放声音文件的按钮 我想在单个音频文件中录制用户按下按钮时播放的声音,以便将该文件保存为mp4或其他音频格式 你能指导我如何用一种简单的方法实现这一点吗 我可以使用带有AVAudioRecorder的麦克风进行录音 我认为,录制方法使用麦克风作为源,但我希望它使用与我的应用程序相当的“音频输出”作为源。您可以尝试使用。你可以通过Cocoapods安装它 pod 'TheAmazingAudioEngine' 或者通过git克隆 git clone --depth=1

我有一个像乐器一样的屏幕。有播放声音文件的按钮

我想在单个音频文件中录制用户按下按钮时播放的声音,以便将该文件保存为mp4或其他音频格式

你能指导我如何用一种简单的方法实现这一点吗

我可以使用带有
AVAudioRecorder的麦克风进行录音


我认为,录制方法使用麦克风作为源,但我希望它使用与我的应用程序相当的“音频输出”作为源。

您可以尝试使用。你可以通过Cocoapods安装它

pod 'TheAmazingAudioEngine'
或者通过git克隆

git clone --depth=1 https://github.com/TheAmazingAudioEngine/TheAmazingAudioEngine.git
在计算机的帮助下,声音可以被记录到一个文件中

因此,如果要记录应用程序输出,只需使用:


使用屏幕记录器,如
Camtasia
Fraps
。 当你想要的时候,你可以停止录音并以多种格式提取声音,而且不需要使用麦克风。。。
还有一些开源软件…

这是一个很棒的问题!回答得好!但是它不能录制由
AVPlayer
或其他来源播放的音频,您知道如何录制这样的音频吗?可能有多个
AVPlayer
。无法工作,尝试从扬声器录制音频。
@property (nonatomic, strong) AEAudioController *audioController;
@property (nonatomic, strong) AERecorder *recorder;

...

self.audioController = [[AEAudioController alloc] initWithAudioDescription:[AEAudioController nonInterleaved16BitStereoAudioDescription] inputEnabled:YES];

...

//start the recording
- (void) beginRecording{
   self.recorder = [[AERecorder alloc] initWithAudioController:self.audioController];
   NSString *documentsFolder = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject];

   //the path to record to
   NSString *filePath = [documentsFolder stringByAppendingPathComponent:@"AppOutput.aiff"];

  //start recording
  NSError *error = NULL;
  if ( ![_recorder beginRecordingToFileAtPath:filePath fileType:kAudioFileAIFFType error:&error] ) {
         //an error occured
         return;
  }

   [self.audioController addOutputReceiver:self.recorder];
}

...

//end the recording
- (void)endRecording {
     [self.audioController removeOutputReceiver:self.recorder];
     [self.recorder finishRecording];
}