Ho provato a esportare il file audio dall'iPod-Library. Il mio obiettivo è creare un nuovo file nella cartella Documenti dell'app con questo file di iPod-Library. Non riesce a creare file solo per alcuni elementi. Di seguito è riportato il mio snippet di codice.AVAssetExport non riesce per alcuni file
AVURLAsset *songAsset = [AVURLAsset URLAssetWithURL: url options:nil];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
AVAssetExportSession *exporter = [[AVAssetExportSession alloc]
initWithAsset: songAsset
presetName: AVAssetExportPresetAppleM4A];
exporter.outputFileType = @"com.apple.m4a-audio";
NSString *songName = [filename stringByAppendingString:@".m4a"];
NSString *musicfilepath = [documentsDirectory stringByAppendingPathComponent:@"musics/"];
[[NSFileManager defaultManager] createDirectoryAtPath:musicfilepath withIntermediateDirectories:YES attributes:nil error:nil];
NSString *exportFile = [musicfilepath stringByAppendingPathComponent:songName];
NSError *error1;
if([[NSFileManager defaultManager] fileExistsAtPath:exportFile])
{
[[NSFileManager defaultManager] removeItemAtPath:exportFile error:&error1];
}
NSURL* exportURL = [[NSURL fileURLWithPath:exportFile] retain];
exporter.outputURL = exportURL;
sto ottenendo errore come mostrato di seguito quando provato con il blocco di gestore di errore:
[exporter exportAsynchronouslyWithCompletionHandler:^{
int exportStatus = exporter.status;
switch (exportStatus) {
case AVAssetExportSessionStatusFailed: {
NSError *exportError = exporter.error;
NSLog (@"AVAssetExportSessionStatusFailed: %@", exportError);
break;
}
}
}];
AVAssetExportSessionStatusFailed: errore di dominio = Codice AVFoundationErrorDomain = -11.800 "L'operazione non ha potuto essere completato" UserInfo = 0x214f20 {NSLocalizedFailureReason = Si è verificato un errore sconosciuto (-12124), NSUnderlyingError = 0x218270 "Impossibile completare l'operazione. (OSStatus error -12124.)", NSLocalizedDescription = Impossibile completare l'operazione}
C'è abbastanza spazio per i file sul dispositivo? Inoltre esistono già dove stai cercando di esportarli forse? –