Closed wkff closed 5 years ago
你应该是实现了didFinishPickingResultHandle。代理与block只能2选1
只实现了一个
你那里可以吗,后来我手工加了一个回调,可以了。
我的需求是只能选一个视频,难道我用法不对?
LFImagePickerController *videoPicker = [[LFImagePickerController alloc]initWithMaxImagesCount:0 delegate:self]; videoPicker.allowTakePicture = NO; videoPicker.allowPickingVideo = YES; videoPicker.allowPickingImage = NO; videoPicker.allowPickingGif = NO; videoPicker.maxVideosCount = 1; videoPicker.naviBgColor = [UIColor whiteColor]; videoPicker.naviTitleColor = [UIColor colorOfBlack33]; videoPicker.barItemTextColor = [UIColor colorOfBlack33]; videoPicker.allowPickingOriginalPhoto = NO; videoPicker.maxVideoDuration = 300;
@wkff 版本1.5.5,我按照你的初始化是可以在lf_imagePickerController: didFinishPickingResult:回调的。
LFImagePickerController *videoPicker = [[LFImagePickerController alloc]initWithMaxImagesCount:1 delegate:self]; videoPicker.allowTakePicture = NO; videoPicker.allowPickingVideo = YES; videoPicker.allowPickingImage = NO; videoPicker.allowPickingGif = NO; videoPicker.naviBgColor = [UIColor whiteColor]; videoPicker.naviTitleColor = [UIColor colorOfBlack33]; videoPicker.barItemTextColor = [UIColor colorOfBlack33]; videoPicker.allowPickingOriginalPhoto = NO; videoPicker.maxVideoDuration = 300;
这样用户体验可能会好点的(个人见解)。
你在哪里添加回调就可以了?
PhotoPicker有下面一个代码,测试发现选完视频会走else,但走不到 ^(LFResultVideo *resultVideo) {photosComplete(resultVideo, i);}];
if (videoEdit) { [[LFVideoEditManager manager] getVideoWithAsset:model presetName:imagePickerVc.videoCompressPresetName completion:^(LFResultVideo *resultVideo) { if (imagePickerVc.autoSavePhotoAlbum) { /* 编辑视频保存到相册 / [[LFAssetManager manager] saveVideoToCustomPhotosAlbumWithTitle:nil videoURLs:@[resultVideo.url] complete:nil]; } photosComplete(resultVideo, i); }]; } else {
[[LFAssetManager manager] getVideoResultWithAsset:model.asset presetName:imagePickerVc.videoCompressPresetName completion:^(LFResultVideo *resultVideo) {
photosComplete(resultVideo, i);
}];
}
首先你确定你的版本为1.5.5 全面视频都没有回调吗?你尝试用手机拍一个视频看看。
@lincf0912 是最新的
@lincf0912 刚又测了一上,相机录制的视频还真就可以,你可以到抖音分享、或朋友圈保存。这些视频都不走回调的。
好的。我知道了。先mark。
@lincf0912 不用弄了,我的LFAssetManager不是最新的,替换了一下,回调好了。
OK.
@lincf0912 回调完你已经压缩过了,我怎么从LFResultVideo里拿到压缩过的视频。
/** 视频数据 */ @property (nonatomic, readonly) NSData *data; /** 视频地址 */ @property (nonatomic, readonly) NSURL *url;
压缩质量取决于LFImagePickerController
@property (nonatomic,copy) NSString *videoCompressPresetName;
好,这样方便多了。我以为这俩是原数据。
如果设置只选视频,则不走回调。 allowPickingVideo = YES; allowPickingImage = NO;