Cambiar AVMetadataItem

Tengo algunos files, -m4a -mp4 -mp3, etc. Quiero cambiar estos detalles.

  • AVMetadataItem
  • AVMetadataCommonKeyArtwork
  • AVMetadataCommonKeyArtist

Lo puedo hacer con AVAssetExportSession , pero necesito cambiar el directory. ¿Hay alguna forma en que pueda escribir directamente en el file por favor?

Encontré este progtwig, pero no funciona 🙁

 NSError *error; AVAssetWriter *assetWrtr = [[AVAssetWriter alloc] initWithURL:[NSURL fileURLWithPath:self.path] fileType:AVFileTypeAppleM4A error:&error]; NSLog(@"%@",error); NSArray *existingMetadataArray = assetWrtr.metadata; NSMutableArray *newMetadataArray = nil; if (existingMetadataArray) { newMetadataArray = [existingMetadataArray mutableCopy]; // To prevent overriding of existing metadata } else { newMetadataArray = [[NSMutableArray alloc] init]; } AVMutableMetadataItem *item = [[AVMutableMetadataItem alloc] init]; item.keySpace = AVMetadataKeySpaceCommon; item.key = AVMetadataCommonKeyArtwork; item.value = UIImagePNGRepresentation([[UIImage alloc] initWithContentsOfFile:[[NSSearchPathForDirectoriesInDomains (NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0] stringByAppendingPathComponent:@".image"]]); [newMetadataArray addObject:item]; assetWrtr.metadata = newMetadataArray; [assetWrtr startWriting]; [assetWrtr startSessionAtSourceTime:kCMTimeZero]; 

cambiar UIImagePNGRepresentation a UIImageJPEGRrepresentación necesita datos jpeg no png.