我很抱歉,如果這與my previous question重複,但這會讓我有點慌亂。找不到iPhone模擬器生成的文件
在試圖找出iPhone Simulator存儲文件的位置時,我使用了Speak Here項目來記錄我的聲音並將其保存到文件中。由於模擬器能夠播放記錄,因此必須是某處的文件,但我無法找到該文件。我已經嘗試了一切,包括使用終端命令定位(使用sudo /usr/libexec/locate.updatedb後)。任何幫助?
我很抱歉,如果這與my previous question重複,但這會讓我有點慌亂。找不到iPhone模擬器生成的文件
在試圖找出iPhone Simulator存儲文件的位置時,我使用了Speak Here項目來記錄我的聲音並將其保存到文件中。由於模擬器能夠播放記錄,因此必須是某處的文件,但我無法找到該文件。我已經嘗試了一切,包括使用終端命令定位(使用sudo /usr/libexec/locate.updatedb後)。任何幫助?
的#define DOCUMENTS_FOLDER [NSHomeDirectory()stringByAppendingPathComponent:@ 「文檔」]
- (無效)的StartRecording { [自stopPlaying];
NSLog(@"startRecording");
[audioRecorder release];
audioRecorder = nil;
// Init audio with record capability
AVAudioSession *audioSession = [AVAudioSession sharedInstance];
[audioSession setCategory:AVAudioSessionCategoryRecord error:nil];
NSMutableDictionary *recordSettings = [[NSMutableDictionary alloc] initWithCapacity:10];
if(recordEncoding == ENC_PCM)
{
[recordSettings setObject:[NSNumber numberWithInt: kAudioFormatLinearPCM] forKey: AVFormatIDKey];
[recordSettings setObject:[NSNumber numberWithFloat:44100.0] forKey: AVSampleRateKey];
[recordSettings setObject:[NSNumber numberWithInt:2] forKey:AVNumberOfChannelsKey];
[recordSettings setObject:[NSNumber numberWithInt:16] forKey:AVLinearPCMBitDepthKey];
[recordSettings setObject:[NSNumber numberWithBool:NO] forKey:AVLinearPCMIsBigEndianKey];
[recordSettings setObject:[NSNumber numberWithBool:NO] forKey:AVLinearPCMIsFloatKey];
}
else
{
NSNumber *formatObject;
switch (recordEncoding) {
case (ENC_AAC):
formatObject = [NSNumber numberWithInt: kAudioFormatMPEG4AAC];
break;
case (ENC_ALAC):
formatObject = [NSNumber numberWithInt: kAudioFormatAppleLossless];
break;
case (ENC_IMA4):
formatObject = [NSNumber numberWithInt: kAudioFormatAppleIMA4];
break;
case (ENC_ILBC):
formatObject = [NSNumber numberWithInt: kAudioFormatiLBC];
break;
case (ENC_ULAW):
formatObject = [NSNumber numberWithInt: kAudioFormatULaw];
break;
default:
formatObject = [NSNumber numberWithInt: kAudioFormatAppleIMA4];
}
[recordSettings setObject:formatObject forKey: AVFormatIDKey];
[recordSettings setObject:[NSNumber numberWithFloat:44100.0] forKey: AVSampleRateKey];
[recordSettings setObject:[NSNumber numberWithInt:2] forKey:AVNumberOfChannelsKey];
[recordSettings setObject:[NSNumber numberWithInt:12800] forKey:AVEncoderBitRateKey];
[recordSettings setObject:[NSNumber numberWithInt:16] forKey:AVLinearPCMBitDepthKey];
[recordSettings setObject:[NSNumber numberWithInt: AVAudioQualityHigh] forKey: AVEncoderAudioQualityKey];
}
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
// getting an NSInteger
NSInteger recordID = [prefs integerForKey:@"recordID"];
//NSLog(@"---- %d",recordID);
//NSString *recordFileName = [NSString stringWithFormat:@"%@/record%d.caf", [[NSBundle mainBundle] resourcePath], recordID];
NSString *recordFileName = [NSString stringWithFormat:@"%@/record%d.caf", DOCUMENTS_FOLDER, recordID];
NSURL *url = [NSURL fileURLWithPath:recordFileName];
//NSLog(@"path -- %@",DOCUMENTS_FOLDER);
NSError *error = nil;
audioRecorder = [[ AVAudioRecorder alloc] initWithURL:url settings:recordSettings error:&error];
if ([audioRecorder prepareToRecord] == YES){
[audioRecorder record];
}else {
int errorCode = CFSwapInt32HostToBig ([error code]);
NSLog(@"Error: %@ [%4.4s])" , [error localizedDescription], (char*)&errorCode);
}
NSLog(@"recording");
[recordSettings release];
}
- (無效)stopRecording { 的NSLog(@ 「stopRecording」); [audioRecorder stop]; NSLog(@「stopped」); }
SpeakHere應用程序將錄製的文件存儲在臨時目錄中。你可以找出路徑及其內容與此代碼:
NSString *tempPath = NSTemporaryDirectory();
NSArray *dirContents = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:tempPath error:nil];
NSLog(@"tempPath: %@", tempPath);
NSLog(@"dirContents: %@", dirContents);
在iPhone模擬器這條道路會像 /var/folders/eQ/eQdXXQoxFHmxhq85pgNA+++++TI/-Tmp-/
,但在設備上,這是在你的應用程序目錄的子目錄。如/private/var/mobile/Applications/965A9EEF-7FBA-40F4-8A42-FE855A719D52/tmp/
。
沒有工作。有錯誤-50。 – 2011-04-14 11:17:20
什麼是錯誤? – 2011-04-14 11:18:22
AudioFileURLCreateWithURL error -50 which can not find in the reference:http://developer.apple.com/library/ios/#documentation/MusicAudio/Reference/AudioFileConvertRef/Reference/reference.html – 2011-04-14 11:21:02