这是录制和播放音频的代码,它完美地创建音频文件,但播放代码不播放文件。我无法理解出了什么问题我尝试了所有的nslog,音频文件也在文档文件夹中完美生成。
- (IBAction)recStartStop:(id)sender
{
if(toggle)
{
[recStartStopBtn setImage:[UIImage imageNamed:@"StopRed"] forState:UIControlStateNormal];
toggle = NO;
playBtn.enabled = toggle;
playBtn.hidden = !toggle;
NSMutableDictionary* recordSetting = [[NSMutableDictionary alloc] init];
[recordSetting setValue :[NSNumber numberWithInt:kAudioFormatAppleIMA4] forKey:AVFormatIDKey];
[recordSetting setValue:[NSNumber numberWithFloat:44100.0] forKey:AVSampleRateKey];
[recordSetting setValue:[NSNumber numberWithInt: 2] forKey:AVNumberOfChannelsKey];
recordedTmpFile = [NSURL fileURLWithPath:[NSTemporaryDirectory() stringByAppendingPathComponent: [NSString stringWithFormat: @"%.0f.%@", [NSDate timeIntervalSinceReferenceDate] * 1000.0, @"caf"]]];
NSLog(@"Using File called: %@",recordedTmpFile);
recorder = [[ AVAudioRecorder alloc] initWithURL:recordedTmpFile settings:recordSetting error:nil];
[recorder setDelegate:self];
[recorder prepareToRecord];
[recorder record];
}
else
{
recStartStopBtn.enabled = NO;
recStartStopBtn.hidden = YES;
playAudioBtn.hidden = NO;
NSLog(@"Using File called: %@",recordedTmpFile);
[recorder stop];
}
}
- (IBAction)playAudio:(id)sender
{
AVAudioPlayer * avPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:recordedTmpFile error:nil];
[avPlayer prepareToPlay];
[avPlayer play];
NSLog(@"%@",recordedTmpFile);
}