首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

iOS -使用AVAssetDownloadURLSession设置下载的总最大大小限制

AVAssetDownloadURLSession是iOS中用于处理媒体资源下载的类。它提供了一种方便的方式来管理和控制媒体资源的下载过程。在使用AVAssetDownloadURLSession进行下载时,可以通过设置下载的总最大大小限制来控制下载的数据量。

下载的总最大大小限制可以通过设置AVAssetDownloadURLSessionConfiguration的maximumMediaSelectionFileSize属性来实现。该属性表示下载的媒体资源的总大小限制,单位为字节。当下载的媒体资源的总大小超过该限制时,下载会被取消。

下面是设置下载的总最大大小限制的示例代码:

代码语言:txt
复制
let configuration = URLSessionConfiguration.background(withIdentifier: "com.example.download")
configuration.isDiscretionary = false
configuration.sessionSendsLaunchEvents = true

if #available(iOS 11.0, *) {
    configuration.waitsForConnectivity = true
}

let assetDownloadURLSession = AVAssetDownloadURLSession(configuration: configuration, assetDownloadDelegate: self, delegateQueue: OperationQueue.main)

if let url = URL(string: "https://example.com/media/video.mp4") {
    let asset = AVURLAsset(url: url)
    let downloadTask = assetDownloadURLSession.makeAssetDownloadTask(asset: asset, assetTitle: "Video", assetArtworkData: nil, options: nil)
    
    // 设置下载的总最大大小限制为100MB
    downloadTask?.maximumMediaSelectionFileSize = 100 * 1024 * 1024
    
    downloadTask?.resume()
}

在上述代码中,我们首先创建了一个AVAssetDownloadURLSessionConfiguration对象,并设置了一些相关的配置。然后,我们使用该配置创建了一个AVAssetDownloadURLSession对象。接下来,我们创建了一个AVURLAsset对象,表示要下载的媒体资源。最后,我们使用makeAssetDownloadTask方法创建了一个下载任务,并通过设置maximumMediaSelectionFileSize属性将下载的总最大大小限制设置为100MB。

需要注意的是,设置下载的总最大大小限制只对使用AVAssetDownloadURLSession进行下载的媒体资源有效。对于其他方式进行的下载,该限制不会生效。

推荐的腾讯云相关产品:腾讯云移动直播(https://cloud.tencent.com/product/mlvb)

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

IM开发宝典:史上最全,微信各种功能参数和逻辑规则资料汇总

4、相关资源 《微信本地数据库破解版(含iOS、Android),仅供学习研究 [附件下载]》(* 推荐研究) 《仿微信IM聊天时间显示格式(含iOS/Android/Web实现)[图文+源码]》 5...点评:这里有份完整微信本地数据库样本,可以用来研究和学习:《微信本地数据库破解版(含iOS、Android),仅供学习研究 [附件下载]》。...点评:如果你IM中,短视频文件大大超过微信这个数据量,就表达存在较大优化空间,可以从采样率等方面进行设置。 8.8 文件消息规则 微信限制最大可以上传文件大小为 25 MB。...* 单个文件大小限制:可以收藏单个文件大小不能超过 25 M。 * 存储容量限制:微信限制收藏数据容量为 2 GB,当收藏容量超出2G后,超出容量内容,将不能再上传。...10.4 发送文件大小限制 微信电脑端,上传文件大小最大为 100 MB,一次最多可以选择10个文件同时发送。 * 补充规则:如果发送是视频,则文件大小不能超过 25 MB。

2.4K30

IM开发宝典:史上最全,微信各种功能参数和逻辑规则资料汇总

4、相关资源 《微信本地数据库破解版(含iOS、Android),仅供学习研究 [附件下载]》(* 推荐研究) 《仿微信IM聊天时间显示格式(含iOS/Android/Web实现)[图文+源码]》 5...点评:这里有份完整微信本地数据库样本,可以用来研究和学习:《微信本地数据库破解版(含iOS、Android),仅供学习研究 [附件下载]》。...点评:如果你IM中,短视频文件大大超过微信这个数据量,就表达存在较大优化空间,可以从采样率等方面进行设置。 8.8 文件消息规则 微信限制最大可以上传文件大小为 25 MB。...* 单个文件大小限制:可以收藏单个文件大小不能超过 25 M。 * 存储容量限制:微信限制收藏数据容量为 2 GB,当收藏容量超出2G后,超出容量内容,将不能再上传。...10.4 发送文件大小限制 微信电脑端,上传文件大小最大为 100 MB,一次最多可以选择10个文件同时发送。 * 补充规则:如果发送是视频,则文件大小不能超过 25 MB。

1.9K20
  • 线程安全iOS通用缓存库-SwiftlyCache(推广)

    iOS开发中或多或少都会使用到Cache来减少网络请求,在网络上也有很多使用Objective-c开发Cache框架,而Swift开发Cache框架相对来说就要少一些,所以我就用Swift 5开发了一款...文件夹内所有内容 2.将SwiftlyCache内源文件添加到你工程 属性使用: MemoryCache可供使用属性: 设置最大内存缓存容量(0为不限制) public var totalCostLimit...: 设置最大磁盘缓存容量(0为不限制) public var maxSize:vm_size_t = 0 设置最大磁盘缓存数量 public var maxCountLimit:vm_size_t...) 自动检查磁盘缓存是否达到限制,如果达到限制,则自动丢弃部分数据(缓存最大容量限制、缓存最大个数限制、数据是否过期) public var autoInterval:TimeInterval = 120...PINDiskCache使用文件缓存数据,设置文件参数,文件大小来管理缓存数据,对缓存数据增删改查也是转化为对文件读写删除操作.

    1.4K10

    短视频UGC常见问题(FAQ)

    导入视频格式要求?是否支持导入分辨率大于720P(例如2K,4K)视频?导入文件限制有具体大小吗? 导入视频目前android端仅支持mp4,分辨率没有做限制,导入文件不限制大小。...导入视频分辨率没有做限制,不管原视频多大,经过预处理后最大是 720P。...4. iOS端短视频录制和短视频编辑添加同一首BGM,声音大小不一样? 目前由于短视频录制和短视频编辑使用音频模式不一样会导致这个问题,计划5.3版本优化。 5....短视频sdk默认码率360p为2400kbps,540p为6500kbps,720p为9000kbps; 使用了自定义码率setVideoBitrate根据自己需求设置需要码率值; 例子:视频源是抖音下载...五、小视频 1. iOS端小视频demo短视频编辑获取mp3音乐时长问题? 原因是小视频Demo业务层代码逻辑问题,获取BGM音乐时长为0,导致无法播放,所以设置了BGM没有声音。

    4K43

    APP性能测试—PerfDog

    云端看板 :基于云端看板,可以随时随地存储、可视化、编辑、管理和下载使用任何版本PerfDog收集所有测试数据。...需要PC和被测手机连接同一WIFI,WIFI检测连接成功后,拔掉被测手机USB线,一般公司WIFI可能做了安全策略限制,导致iOS平台在公司WIFI下无法使用),需要联系网络管理员进行配置。...CPU Usage(Normalized)= (CPU执行时间/CPU时间) * (当前时刻所有CPU频率之和/所有CPU频率最大值之和) PerfDog两种统计方式都有。...物理内存是计算机实际内存大小,由RAM芯片组成。虚拟内存则是虚拟出来使用磁盘代替内存。虚拟内存出现,让机器内存不够情况得到部分解决。...iOS性能指标 由于iOS系统对进程性能参数做严格限制,超过限制则会被系统kill,因此Perfdog与苹果官方Xcode工具参数对齐。

    3.7K51

    基于腾讯云对象存储跑hadoop任务实战二

    这个数值设置太小,会导致上传速度打不满网卡,建议设置稍微大一点,8MB到128MB都是可以选择。cos一个对象最多有10000个分块,所以分块大小还决定了对象最大值。...例如:分块大小默认8MB,那么能够上传最大对象大小为8MB * 10000 ≈ 80GB。...fs.cosn.buffer.size需要是fs.cosn.block.size 整数倍,决定了上传池缓存大小,这个缓冲池是全局,进程内唯一,所以根据机器内存大小,可以调整下这个值。...),默认512KB 2、fs.cosn.read.ahead.queue.size 下载预读队列长度,默认10个 3、每个下载文件stream流并发下载最大线程数,这个没有单独配置,采用是 fs.cosn.read.ahead.queue.size...因为默认下载预读块512KB有点小,这个数决定了每次range下载文件部分内容请求大小设置到8MB时候,可以跑满1.5Gbps。

    2.7K141

    iOS面试题:SDWebImage原理

    ,主要有两个指标:文件缓存有效期(maxCacheAge:默认是1周)和最大缓存空间大小(maxCacheSize:如果所有文件大小大于最大值,会按照文件最后修改时间逆序,以每次一半递归来移除哪些过早文件...,知道缓存文件大小小于最大值),具体代码参考- (void)cleanDiskWithCompletionBlock; 6、小结 SDImageCache处理提供以上API,还提供了获取缓存大小,缓存中图片数量等...默认没有设置,也就是为0,而清理磁盘缓存先决条件为self.maxCacheSize > 0,所以0表示无限制。...重用这些对象可以优化性能,因为它们值不需要重新计算。另外一方面,这些对象对于程序来说不是紧要,在内存紧张时会被丢弃 7.清理缓存图片策略:特别是最大缓存空间大小设置。...如果所有缓存文件大小超过这一大小,则会按照文件最后修改时间逆序,以每次一半递归来移除那些过早文件,直到缓存实际大小小于我们设置最大使用空间。

    2.7K40

    SDWebImage 图片下载缓存框架 常用方法及原理

    功能:图片下载、图片缓存、下载进度监听、gif处理等等 项目地址:https://github.com/rs/SDWebImage 常见面试题: SDWebImage最大并发数是多少?...先遍历所有的缓存文件,记录过期文件,计算缓存文件大小 ii. 删除过期文件 iii....判断maxCacheSize值是否>0,如果大于0再判断缓存文件大小是否大于maxCacheSize iv.如果缓存文件大小超过maxCacheSize,删除最早文件 注意:.jpg、....) NSInteger maxCacheAge; 最大缓存大小,单位字节,针对磁盘,默认无限制0,需要自己设置 @property (assign, nonatomic) NSUInteger maxCacheSize...SDWebImagePrefetcher 可以预先下载图片,方便后续使用

    3.2K40

    Nginx 限制资源访问

    Nginx可以限制 每个键值(例如,每个IP地址)连接数 每个键值请求率(在一秒钟或一分钟内允许处理请求数) 连接下载速度 请注意,可以在NAT设备后面共享IP地址,因此应谨慎使用IP地址限制...$binary_remote_addr$uri zone=xzbf:10m; #限制发生时向客户端返回错误码 limit_conn_status 503; #设定最大并发连接数 如果并发请求超过这个限制...#表示队列大小为5个请求,如果此时同一个客户端进来10个请求,那么只有5个请求可以按每秒一个频率被处理,剩下五个将会拒绝处理,返回503状态码 burst=5 #使用此配置时,前3个请求delay...会立即传递,后2个请求burst- delay会以速率不超过指定速率方式被延迟,因为超出了突发大小,其他多余请求将被拒绝,后续请求将被延迟 delay=3 错误页面的设置 http { .....,单位是bytes autoindex_localtime on; #显示文件大小 limit_conn down 1; #限制同一个IP只能建立一个下载连接 limit_rate_after

    1.9K20

    iOS 优化 - 瘦身

    下载及安装大小示意图 App Store OTA 下载大小限制: 虽然苹果历年都会调整 App 下载大小,由之前 100M 到后来 150M 再到现在 200M。...如今,App 下载大小超出 200 MB 时 ,会出现两种情况: iOS 13 以下用户,无法通过蜂窝数据下载 App; iOS 13 及以上用户,需要手动设置才可以使用蜂窝网络下载 App。...Apple __TEXT 段大小限制iOS 7 之前,二进制文件中所有的 __TEXT 段总和不得超过 80 MB; iOS 7.X 至 iOS 8.X,二进制文件中,每个特定架构中 __TEXT...顺便给大家说下苹果将下载大小限制由 100M 调整到 150M 原因是什么?...颜色数组维护颜色种类和数量由图片决定,同时可以人为限制颜色数组维护颜色种类上限,默认为最大值 256 种,具体原理详见底部相关链接 --【Palette Images】; 使用下文提到 ImageOptim-CLI

    2.6K20

    blkio-controller.txt

    在存储层次结构中叶节点和中间节点, 似乎需要各种IO控制策略(如比例BW(bandwidth)、最大BW) 计划:为blkio控制器使用基于cgroup相同管理接口,并基于用户选项在后台切换IO策略。...默认CFQ和限制(throttling)使用"sane_behavior"将处理层次结构正确。...- blkio.io_service_time - 当前group所做IOs从请求发送到请求完成之间时间量。以纳秒计算对闪存设备也有意义。...- blkio.io_wait_time - 当前groupIOs在服务调度队列花费等待时间,这可能大于时间已用,因为它是所有io累计io等待时间。...它不是衡量cgroup等待时间,而是衡量等待其个别IOs时间。对于队列深度大于1设备此指标不包括 等待服务一次所花费时间IO被发送到设备,但直到它真正得到服务(由于设备)。

    2.1K20

    我在Uber亲历最严重工程灾难

    但随着 App 不断发展,很快就达到了二进制文件(iOS 8 和更早版本)下载限制 (100MB),这意味着有大量用户无法注册。 此时距离公开发布日期只有几周时间。...我们得到一家公司帮助,但他们不能解决我们问题。我们唯一能做就是为 Objective-C 重新生成所有的模型代码(占代码总量 25%)或放弃支持 iOS 8。...一位技术负责人写了两页材料,试图证明手机下载限制并不是个问题。 我们一名数据科学家设计了一个测试,人为地将架构一部分推到限制阈值,并观察对业务指标的影响。...最终,我们让苹果将手机下载限制提高到 150MB,他们还添加了一些编译器选项 (-Osize),帮我们进行文件大小优化。...但到了 2020 年,他们将 Swift 编译生成机器码大小降至 Objective-C 1.5 倍,并将下载限制提升至 200MB 可选上限。这足够让我们再撑好几年了。

    64620

    文件上传与下载

    ,要为上传文件产生唯一文件名 3.为防止一个目录下面出现太多文件,要使用hash算法打散存储 4.要限制上传文件最大值 5.要限制上传文件类型,在收到上传文件名时,判断后缀名是否合法 使用Apache...进行文件上传步骤: 1.创建一个DiskFileItemFactory工厂(设置缓冲区大小、临时目录) 2.创建文件上传解析器(监听文件上传进度、上传文件中文乱码、单个文件最大值、文件最大值)...factory.setSizeThreshold(1024*100);//设置缓冲区大小为100KB,如果不指定,那么缓冲区大小默认是10KB //设置上传时生成临时文件保存目录.../设置上传文件总量最大值,最大值=同时上传多个文件大小最大和,目前设置为10MB upload.setSizeMax(1024*1024*10);...e.printStackTrace(); request.setAttribute("message", "上传文件大小超出限制最大

    1.2K20

    好用大文件分享服务 _

    关于下载次数有隐藏限制下载文件用户每半个小时只有两次下载机会(实际测试中,开启浏览器隐身模式或者清除 cookie 又可以重新下载了),而对文件上传者来说,文件可以被多个用户下载,所以文件下载次数是没有限制...:文件最大限制 2.5 GB,可自定义最多 100 次下载或 7 天有效期目前暂时无法使用。...:免费版文件最大限制 2 GB,固定 7 天有效期,不能设置分享密码国外服务商,用 AWS 欧洲服务器,国内下载速度一般。...:免费版文件最大限制 50 GB,固定 7 天有效期,不能设置分享密码国外服务商,好像是欧洲服务器,国内下载的话比较慢,测试时速度不到 10 Mbps 样子。...:免费版文件最大限制 10 GB,固定 2 天有效期,不能设置分享密码国外服务商,用 AWS CloudFront,国内下载速度慢,上传容易中断。

    1.1K20

    TRTCMLVBIM案例:SDK用户日志提取与管理一种实现方案

    本文档分两部分,PART1描述log文件本地位置及日志解压办法,PART2描述安卓&IOS端日志文件上传cos方案。...,对本地存储 log 文件做了加密,并且限制了 log 数量大小,所以要查看 log 文本内容,。...IOS端参考文档:https://cloud.tencent.com/document/product/436/46381上传对象腾讯云COS高级接口封装了简单上传、分块上传接口,根据文件大小智能选择上传方式...·上传之后,您可以用同样 Key 生成文件下载链接,具体使用方法见生成预签名链接文档。但注意如果您文件是私有读权限,那么下载链接只有一定有效期。...·上传之后,您可以用同样 Key 生成文件下载链接,具体使用方法见生成预签名链接 文档。但注意如果您文件是私有读权限,那么下载链接只有一定有效期。

    1.6K50

    iOS断点续传

    客户端如何获取已经下载文件字节数 客户端需要记录每次用户下载文件大小。 那么如何记载呢?...其实我们可以直接获取指定路径下文件大小iOS已经提供了相关功能,实现代码如下 [[[NSFileManager defaultManager] attributesOfItemAtPath: FileStorePath...error:nil][NSFileSize] integerValue] 2.如何获取被下载文件字节数 难点1我们获取了已经下载文件字节数,这里我们需要获取被下载文件字节数,有了这两个值,我们就可以算出下载进度了...我们需要把每个被下载文件字节数存储起来,这里我们可以选择使用NSUserDefaults来记载。设置文件名为键值,已经下载文件字节数为值。...文件名为了防止重复,这里我们设置文件名为下载urlhash值,可以保证不重重。 至此断点续传原理就说完了。具体实现可以去看一些开源代码。

    1.6K30
    领券