2010-03-15 71 views
2

我想使用iPhone的麥克風記錄:這是我的代碼:操作無法完成。 AVAudioRecorder iPhone SDK

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0]; 

// the path to write file 
NSString *appFile = [documentsDirectory stringByAppendingPathComponent:@"testing.mp3"]; 




NSURL *url = [NSURL fileURLWithPath:appFile isDirectory:NO]; 

NSDictionary *settings = [NSDictionary dictionaryWithObjectsAndKeys: 
          [NSNumber numberWithFloat: 44100.0],     AVSampleRateKey, 
          [NSNumber numberWithInt: kAudioFormatMPEGLayer3], AVFormatIDKey, 
          [NSNumber numberWithInt: 1],       AVNumberOfChannelsKey, 
          [NSNumber numberWithInt: AVAudioQualityLow],   AVEncoderAudioQualityKey, 
          nil]; 

NSError *error; 

recorder = [[AVAudioRecorder alloc] initWithURL:url settings:settings error:&error]; 

if ([recorder prepareToRecord] == YES){ 
    [recorder record]; 
}else { 
    int errorCode = CFSwapInt32HostToBig ([error code]); 
    NSLog(@"Error: %@ [%4.4s])" , [error localizedDescription], (char*)&errorCode); 

} 

NSLog(@"BOOL = %d", (int)recorder.recording); 

這是錯誤我得到:

Operation could not be completed. (OSStatus error 1718449215.) 

我不能,爲什麼這並未制定出不工作,因爲我從一個網站獲得了很多代碼。

喬納森

+0

由於某種原因,它沒有初始化。做'if(記錄器){NSLog:@「是」; }'不會寫入日誌。 –

回答

5

你的問題是kAudioFormatMPEGLayer3

可惜你不能在MP3格式編碼在iPhone上的聲音。目前壓縮音頻的最佳格式是kAudioFormatAppleIMA4。 (是的,還有kAudioFormatMPEG4AAC - 甚至更好,但它只適用於模擬器,但不適用於設備)。 還要注意的是,在其他系統上解碼記錄的kAudioFormatAppleIMA4文件可能存在問題,例如, windows,那麼簡單的lpcm格式對於小文件可能會更方便。

+0

謝謝,這最後工作:) 你知道如何記錄到內存,以便我可以播放錄音回來,像3秒延遲? –

+1

不適用於AVAudioRecorder。您應該爲此使用音頻隊列服務。請參閱http://developer.apple.com/iphone/library/documentation/MusicAudio/Conceptual/AudioQueueProgrammingGuide/Introduction/Introduction.html#//apple_ref/doc/uid/TP40005343-CH1-SW1並在此處舉例說明(http:///developer.apple.com/iphone/library/samplecode/SpeakHere/) – Vladimir

+0

aac現在適用於3GS和3.2 Touch的ios 4.0。 [請參閱Apple支持的音頻編碼解碼器](https://developer.apple.com/library/ios/#documentation/AudioVideo/Conceptual/MultimediaPG/UsingAudio/UsingAudio.html%23//apple_ref/doc/uid/TP40009767- CH2) – Rob

相關問題