0

我试图让用户在我的应用程序中录制他们的声音,我正在关注本教程。这是 viewDidLoad 中的代码:

NSArray *dirPaths;
NSString *docsDir;

dirPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
docsDir = dirPaths[0];

NSString *soundFilePath = [docsDir
                           stringByAppendingPathComponent:@"sound.caf"];

NSURL *soundFileURL = [NSURL fileURLWithPath:soundFilePath];

NSDictionary *recordSettings = [NSDictionary
                                dictionaryWithObjectsAndKeys:
                                [NSNumber numberWithInt:AVAudioQualityMin],
                                AVEncoderAudioQualityKey,
                                [NSNumber numberWithInt:16],
                                AVEncoderBitRateKey,
                                [NSNumber numberWithInt: 2],
                                AVNumberOfChannelsKey,
                                [NSNumber numberWithFloat:44100.0],
                                AVSampleRateKey,
                                nil];

NSError *error = nil;

self.recorder = [[AVAudioRecorder alloc]
                  initWithURL:soundFileURL
                  settings:recordSettings
                  error:&error];

if (error)
{
    NSLog(@"error: %@", [error localizedDescription]);
} else {
    [self.recorder prepareToRecord];
} 

我收到 6 个错误:

我知道错误来自 viewDidLoad 中的代码,因为当我注释掉该代码时,错误就会消失。这些错误是什么意思,我该如何解决?

4

1 回答 1

1

“通常”这种错误与链接器无法找到您从代码中引用的框架这一事实有关,在您的情况下,我猜您的问题是您没有将您的项目与 AVFoundation 链接。因此,在构建阶段添加框架应该可以解决问题

于 2013-09-14T15:01:12.420 回答