备注:新项目中需要根据一个视频URL获取其字节大小,网上搜了一些不是本地视频就是太繁琐了。截止目前,能搜到的解决方案太少,还是自己研究吧~
老样子,先贴最终代码:
AVURLAsset *asset = [AVURLAsset URLAssetWithURL:[NSURL URLWithString:url] options:nil];// url:网络视频的连接
float second = asset.duration.value/asset.duration.timescale;
NSLog(@"second---:%f", second);// 视频秒数
NSArray *arr = [asset tracksWithMediaType:AVMediaTypeVideo];// 项目中是明确媒体类型为视频,其他没试过
for (AVAssetTrack *track in arr) {
NSLog(@"track---:%@", track);
NSLog(@"track.totalSampleDataLength---:%lld", track.totalSampleDataLength);// 视频文件字节大小
}
此处为控制台输出:
second---:13.000000
track---:<AVAssetTrack: 0x283e96fb0, trackID = 1, mediaType = vide>
track.totalSampleDataLength---:2817893
研究过程就不贴出来了,相关解决方案参考链接:
https://blog.youkuaiyun.com/w6028819321/article/details/17349103
https://blog.youkuaiyun.com/zhouzhoujianquan/article/details/50703986