2011-12-07 6 views
1

を返さない、私は自分のアプリケーションの記録機能に問題があります。AVAudioRecorder [レコーダーレコード]常にNO

録音ディレクトリは次のとおりです。/ドキュメント/録音/

[recordingSettings setValue:[NSNumber numberWithInt:kAudioFormatAppleIMA4] forKey:AVFormatIDKey]; 
[recordingSettings setValue:[NSNumber numberWithFloat:44100.0] forKey:AVSampleRateKey]; 
[recordingSettings setValue:[NSNumber numberWithInt:1] forKey:AVNumberOfChannelsKey]; 
[recordingSettings setValue:[NSNumber numberWithInt:AVAudioQualityMax] forKey:AVEncoderAudioQualityKey]; 

NSURL *url = [NSURL fileURLWithPath:[[GlobalRecording recordingDirectory] stringByAppendingPathComponent:currentFileName]]; 
NSError *err = nil; 
AVAudioRecorder *aRecorder = [[AVAudioRecorder alloc] initWithURL:url settings:recordingSettings error:&err]; 
if(err){ 
    NSLog(@"could not create a recorder: %@ %d %@", [err domain], [err code], [[err userInfo] description]); 
    return; 
} 

[aRecorder setDelegate:self]; 
aRecorder.meteringEnabled = YES; 
BOOL temp = [aRecorder prepareToRecord]; 
if (temp) { 
    NSLog(@"Prepare TRUE"); 
} else { 
    NSLog(@"Prepare FALSE"); 
} 
temp = [aRecorder record]; 
if (temp) { 
    NSLog(@"Record TRUE"); 
} else { 
    NSLog(@"Record FALSE"); 
} 

問題は、常に[aRecorder prepareToRecord]ですTRUEを返すと、システム(/ Document/Recordings)にレコードファイルが作成されます。しかし、[レコーダーレコード]では、このメソッドはレコーディングを開始し、常にFALSEを返します。レコードファイルは0バイトになり、何もできません。

誰もがこの問題を以前に見て助けてくれることを願っています。ありがとう。

答えて

0

uはAVAudioRecorder前SimpleAudioEngineを初期化した場合、それはあなたのクラス内のすべての[SimpleAudioEngine SharedEngine]をコメント.soはあなたのAVAudioSession setCategoryを無効にすることができる、それが動作する可能性がありproblem.Becauseだろう。:)

関連する問題