gpt4 book ai didi

ios - 从文件中获取字节数据

转载 作者:行者123 更新时间:2023-11-29 01:34:45 25 4
gpt4 key购买 nike

我在做什么 我正在尝试获取我用 AVAudioRecorder 录制的音频文件(可能长达一个小时。例如 Podcast)以上传到我们的后端。除了上传到服务器之外,如果用户选择,它还需要能够“暂停”和“恢复”。因此,我相信,我需要在 NSData 类上使用 dataWithBytesNoCopy:buffer 来实现这一点。

我在哪里 我知道我可以使用传递的 self.mediaURL 属性获取数据:

if (self.mediaURL) {

NSData *audioData = [NSData dataWithContentsOfURL:self.mediaURL];

if (audioData) {

[payloadDic setObject:audioData forKey:@"audioData"];
}

}

但是,这不会给我所需的功能。我正在尝试跟踪上传的字节数,以便在用户暂停时我可以继续。

问题 我如何使用提供的 self.mediaURL 来检索文件并能够像本示例一样计算字节长度?

Byte *buffer = (Byte*)malloc((long)audioFile.size);
NSUInteger buffered =[rep getBytes:buffer fromOffset:0.0 length:(long)rep.size error:nil];

NSMutableData *body = [[NSMutableData alloc] init];
body = [NSMutableData dataWithBytesNoCopy:buffer length:buffered freeWhenDone:YES];

最佳答案

与其尝试重新发明轮子而让事情变得更加复杂,不如使用系统为您提供的东西。 NSURLSession 让你做一个 background upload .您将任务交给 session (使用后台 session 配置创建)然后走开。如果可以,上传会分段进行。无需“暂停”或“恢复”;系统会处理一切。您的应用程序甚至不必运行。如果需要身份验证,您的应用程序将根据需要在后台唤醒。该架构只是针对您所描述的情况而设计的。

如果问题是您想要随机访问文件数据而不必将整个内容读入大量 NSData,请使用 NSFileHandle。

关于ios - 从文件中获取字节数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33092220/

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