首页
学习
活动
专区
工具
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。

2K20

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
  • 线程安全的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.5K10

    短视频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没有声音。

    4.1K43

    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.9K51

    iOS面试题:SDWebImage原理

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

    2.8K40

    基于腾讯云对象存储跑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

    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

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

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

    64720

    blkio-controller.txt

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

    2.1K20

    文件的上传与下载

    ,要为上传文件产生唯一的文件名 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

    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来记载。设置文件名为键值,已经下载的文件字节数为值。...文件名为了防止重复,这里我们设置文件名为下载url的hash值,可以保证不重重。 至此断点续传原理就说完了。具体实现可以去看一些开源代码。

    1.7K30

    IM即时通信探索(二)-- IM即时通信采坑

    资料功能 自定义用户资料最大20个自定义用户资料字段。 关系链功能 设置好友自定义资料最多20个好友自定义字段。...把用户 A 添加进用户 B 的最近联系人,缓存大小为100条。 把消息存入离线缓存中,缓存大小30K,时间限制7天。 把消息存入漫游服务器中,时间限制7天。...IOS离线推送和Android离线推送 群消息频控 总消息数频控 总消息数频控是指单个群每秒最多能发送的消息数限制,默认值为 40条/秒。...自定义字段设置并使用后无法删除。但对于直播群(AVChatRoom)及以其为参考的群组类型,因为不存储所有群成员的资料,所以不支持群成员维度的自定义字段。...官方使用限制总结 点击前往 个人认为的一个不合理点 获取某一次会话的消息内容,需要传入一个会话id image.png 会话id组成如下: image.png 我觉得这个方式与创建消息的时候组成不太一样

    3.5K20
    领券