Dha*_*ana 14 iphone objective-c nsdata ios
我正在尝试使用AVAsset录制音频文件然后在我将其存储在NSFileManager之后,之后将其转换为nsdata i Call API来存储它.
我成功创建AVAsset录制文件并使用第三方类播放SCPlayer.
现在的问题是我不知道如何使用AVAsset文件将其保存在文件管理器中,然后在调用API后将其转换为NSData.
有什么办法可以转换AVAsset成NSData???
请帮忙...
its*_*rof 23
您可以执行以下操作:
AVAssetExportSession您的出口AVAsset对象的文件路径URL.将其转换为NSData使用其dataWithContentsOfURL
方法.
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.");
}];
Run Code Online (Sandbox Code Playgroud)在做完所需的任何事情后,不要忘记清理输出文件;)
小智 6
斯威夫特3
let manager = PHImageManager.default()
manager.requestAVAsset(forVideo: asset, options: nil, resultHandler: { (avasset, audio, info) in
if let avassetURL = avasset as? AVURLAsset {
guard let video = try? Data(contentsOf: avassetURL.url) else {
return
}
videoData = video
}
})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15146 次 |
| 最近记录: |