objective-c - 类似iOS系统相册的视频播放器要怎么实现?就是能手动快进后退的那种不卡帧效果
阿神
阿神 2017-04-18 09:21:39
[iOS讨论组]

想做的效果跟下图的差不多,拖动进度条的时候不卡帧那种效果
到底要怎么样实现啊...我自己尝试用AVAssetImageGenerator这个把帧图片取出来,可是太耗内存了。。超过10秒的视频程序就崩

我把视频帧率都取出来了,可视频超过10秒的话就程序就崩了

//取出帧图片
[imgGenerator generateCGImagesAsynchronouslyForTimes:times completionHandler:^(CMTime requestedTime, CGImageRef  _Nullable image, CMTime actualTime, AVAssetImageGeneratorResult result, NSError * _Nullable error) {
    printf("current-----: %lld\n", requestedTime.value);
    switch (result) {
        case AVAssetImageGeneratorCancelled://取消
            NSLog(@"Cancelled");
            break;
        case AVAssetImageGeneratorFailed://失败
            NSLog(@"Failed");
            break;
        case AVAssetImageGeneratorSucceeded: {//成功
           
            NSString *filePath = [path stringByAppendingPathComponent:[NSString stringWithFormat:@"/%lld.png",requestedTime.value]];
            UIImage *uImage = [UIImage imageWithCGImage:image];
            NSData *imgData = UIImagePNGRepresentation(uImage);
            [imgData writeToFile:filePath atomically:YES];
            uImage = nil;
            
            if (requestedTime.value == timesCount) {
                NSLog(@"completed");
                if (completedBlock) {
                    //回调
                    completedBlock(path,timesCount);
                }
            }
        }
            break;
    }
}];

求求大家能帮帮忙解决解决T.T
阿神
阿神

闭关修行中......

全部回复(2)
天蓬老师

哥们 解决了吗?我现在也遇到这个问题,,内存直接爆了

高洛峰

https://github.com/foxling/AV...

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号