en utilisant certaines des API nouvelles astucieuses dans iOS4 J'essaie de capturer l'entrée de l'appareil photo de l'iPhone et le microphone et l'enregistrer dans un fichier. ci-dessous est le code que j'utilise.erreur lors de la capture de la caméra et l'entrée audio
AVCaptureSession* captureSession = [[AVCaptureSession alloc] init];
AVCaptureDevice *audioCaptureDevice = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeAudio];
AVCaptureDeviceInput *audioInput = [AVCaptureDeviceInput deviceInputWithDevice:audioCaptureDevice error:&error];
AVCaptureDeviceInput* videoInput = [[AVCaptureDeviceInput alloc] initWithDevice:captDevice error:&error];
AVCaptureMovieFileOutput * videoOutput = [[AVCaptureMovieFileOutput alloc] init];
if (videoInput && videoOutput && audioInput)
{
[captureSession addInput:audioInput];
[captureSession addInput:videoInput];
[captureSession addOutput:videoOutput];
if([captDevice lockForConfiguration:&error])
{
if ([captDevice hasTorch])
captDevice.torchMode = AVCaptureTorchModeOn;
[captDevice unlockForConfiguration];
}
else
{
NSLog(@"Could not lock device for config error: %@", error);
}
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSURL* saveLocationURL = [[NSURL alloc] initFileURLWithPath:[NSString stringWithFormat:@"%@/movie.mov", documentsDirectory]];
[videoOutput startRecordingToOutputFileURL:saveLocationURL recordingDelegate:self];
[captureSession startRunning];
[saveLocationURL release];
}
else
{
NSLog(@"Video Error: %@", error);
}
lorsque le didFinishRecordingToOutputFileAtURL revient i obtenir une réponse d'erreur cryptique.
Error Domain=AVFoundationErrorDomain Code=-11803 "Cannot Record" UserInfo=0x152f70 {NSLocalizedRecoverySuggestion=Try recording again., AVErrorRecordingSuccessfullyFinishedKey=false, NSLocalizedDescription=Cannot Record}
le code d'erreur -11803 signifie "AVErrorSessionNotRunning". Tout ce que je peux dire c'est me dire quelque chose que je ne sais pas. Quelqu'un at-il une idée de pourquoi la session ne fonctionne pas?
qui a corrigé le problème signalé mais maintenant je reçois une nouvelle erreur. Erreur Domaine = NSOSStatusErrorDomain Code = -12673 "L'opération n'a pas pu aboutir. (Erreur OSStatus -12673.)" UserInfo = 0x154190 {AVErrorRecordingSuccessfullyFinishedKey = false} – iHorse
Est-ce que movie.mov existe déjà? Voir aussi "stringByAppendingPathComponent:". –
non ce fichier n'existe pas. devrait-il? – iHorse