gpt4 book ai didi

ios - 如何将 AVAsset 转换为 NSData 或将其保存到文件管理器

转载 作者:技术小花猫 更新时间:2023-10-29 10:20:08 25 4
gpt4 key购买 nike

我正在尝试使用 AVAsset 来录制音频文件,然后首先将其存储在 NSFileManager 上,然后将其转换为 nsdata 我调用 API 以存储起来。

我成功创建了 AVAsset 录音文件并使用第三方类 SCPlayer 播放它。

现在的问题是我不知道如何使用 AVAsset 文件将其保存在文件管理器中,然后在调用 API 后通过将其转换为 NSData 来发送它.

有什么方法可以将 AVAsset 转换为 NSData???

请帮忙...

最佳答案

您可以执行以下操作:

  1. 使用 AVAssetExportSession 将您的 AVAsset 对象导出到文件路径网址。
  2. 使用 dataWithContentsOfURL 将其转换为 NSData方法。


    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.");
    }];
  3. 不要忘记在完成任何需要的操作后清理输出文件;)

关于ios - 如何将 AVAsset 转换为 NSData 或将其保存到文件管理器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28237412/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com