J'essaie d'utiliser le code ci-dessous pour enregistrer un extrait de l'audio à partir d'un flux d'URL (par exemple, une station de radio diffusion):Objectif C/IOS - AVAsset - Erreur
float vocalStartMarker = 0.0;
float vocalEndMarker = 20.0;
NSURL *audioFileInput = [[NSURL alloc] initWithString: @"http://streamedaudio.mp3"];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsPath = [paths objectAtIndex:0]; //Get the docs directory
NSString *filePath = [documentsPath stringByAppendingPathComponent:@"TestName.m4a"]; //Add the file name
//[audioFileInput writeToFile:filePath atomically:YES]; //Write the file
NSURL *audioFileOutput = [[NSURL alloc] initWithString: filePath];
NSLog(@"%@", audioFileOutput);
if (!audioFileInput || !audioFileOutput)
{
return NO;
}
[[NSFileManager defaultManager] removeItemAtURL:audioFileOutput error:NULL];
AVAsset *asset = [AVAsset assetWithURL:audioFileInput];
AVAssetExportSession *exportSession = [AVAssetExportSession exportSessionWithAsset:asset
presetName:AVAssetExportPresetAppleM4A];
if (exportSession == nil)
{
return NO;
}
CMTime startTime = CMTimeMake((int)(floor(vocalStartMarker * 100)), 100);
CMTime stopTime = CMTimeMake((int)(ceil(vocalEndMarker * 100)), 100);
CMTimeRange exportTimeRange = CMTimeRangeFromTimeToTime(startTime, stopTime);
exportSession.outputURL = audioFileOutput;
exportSession.outputFileType = AVFileTypeAppleM4A;
exportSession.timeRange = exportTimeRange;
[exportSession exportAsynchronouslyWithCompletionHandler:^
{
if (AVAssetExportSessionStatusCompleted == exportSession.status)
{
// It worked!
}
else if (AVAssetExportSessionStatusFailed == exportSession.status)
{
NSLog(@"%@", exportSession.error);
return;
}
}];
Je reçois le texte suivant erreur:
26/12/2015 14: 17: 11,523 saveURL [4135: 24621] erreur de domaine = code AVFoundationErrorDomain = -11838 "opération Arrêtée" UserInfo = {NSLocalizedDescription = opération Arrêtée, NSLocalizedFailureReason = L'opération est prise en charge pour ce média.}
Est-ce parce que j'essaie de convertir un MP3 à M4A?
Merci d'avance pour votre aide avec ceci.
Ah! N'a pas pensé à cela - je vais changer les paramètres maintenant. – Baz
Salut à nouveau Paulvs. Je ne suis pas les problèmes: Paramètres de sécurité de transport App - Autoriser les charges arbitraires est défini sur «Oui». D'autres idées? – Baz
Ok, quelle est votre URL actuelle? http: //streamedaudio.mp3 ne semble pas être valide. – paulvs