I am trying to do that using AVAsset
to record Audio file and then after first i store it on NSFileManager
and after that by convert it to nsdata i Call API to store it.
I am successful to Create AVAsset
recording file and play it using third party Class that is SCPlayer
.
Now problem is that i don't know how to Use AVAsset
file for save it in file manager and then after call API to sent it by converting it to NSData
.
Is any way to convert AVAsset
to NSData
???
Please Help...
You can do the following:
AVAssetExportSession
to export your AVAsset
object to a file
path URL.Convert it to NSData
using its dataWithContentsOfURL
method.
NSURL *fileURL = nil;
__block NSData *assetData = nil;
// asset is you AVAsset object
AVAssetExportSession *exportSession = [[AVAssetExportSession alloc] initWithAsset:asset presetName:AVAssetExportPresetHighestQuality];
exportSession.outputURL = fileURL;
// e.g .mov type
exportSession.outputFileType = AVFileTypeQuickTimeMovie;
[exportSession exportAsynchronouslyWithCompletionHandler:^{
assetData = [NSData dataWithContentsOfURL:fileURL];
NSLog(@"AVAsset saved to NSData.");
}];
Don't forget to clean up the output file after doing whatever you need to do with it ;)