Record AVAudioPlayer output using AVAudioRecorder

2020-03-26 04:04发布

In my app the user plays a sound by pressing a button. There are several buttons which can be played simultaneously. The sounds are played using AVAudioPlayer instances. I want to record the output of these instances using AVAudioRecorder. I have set it all up and a file is created and records but when I play it back it does not play any sound. It is just a silent file the length of the recording. Does anyone know if there is a setting I am missing with AVAudioPlayer or AVAudioRecorder? Thanks

4条回答
做自己的国王
2楼-- · 2020-03-26 04:32

Was facing the same problem. Solved the problem by setting the AVAudioSession category to AVAudioSessionCategoryPlayback mode. This is my working code:

AVAudioSession *audioSession = [AVAudioSession sharedInstance];
audioSession.delegate = self;
[audioSession setCategory:AVAudioSessionCategoryPlayback error:nil];
[audioSession setActive: YES error: nil];

Also make sure that the audio recording has been finished successfully by implementing:

   -(void) audioRecorderDidFinishRecording:(AVAudioRecorder *)recorder successfully:(BOOL)flag
{
    NSLog(@"Recording success:%@",flag ? @"YES" : @"NO");
}

And check that you have added <AVAudioSessionDelegate,AVAudioRecorderDelegate,AVAudioPlayerDelegate>

in your interface declaration.

查看更多
疯言疯语
3楼-- · 2020-03-26 04:46

Hope it helps, at least to look for something else.

I'm having the same issue here, I'm trying to record a mix of different sounds played at different times with a main track playing, what I found is that AVAudioRecorder records only from the mic, so it would work.

What I found, still have to read doc and test it, is the Audio Converter Services, I think that may work, but I have just read a few lines.

Once again, sorry to tell you, but you're looking the wrong way, I hope my answer helps

查看更多
我只想做你的唯一
4楼-- · 2020-03-26 04:57

It is not possible to record AVAudioPlayer output as input to AVAudioRecorder for recording. You can use audio buffer to store played files and save it to a file.

查看更多
一纸荒年 Trace。
5楼-- · 2020-03-26 04:59

It would probably be easier to help if we saw your code.

You should also check out the following link to see if you have your AVAudioRecorder setup correctly: How do I record audio on iPhone with AVAudioRecorder?

Although that link shows how to setup a recording from the mic, it might still be helpful to you.

查看更多
登录 后发表回答