UIImagePickerController 设置 VideoMaximumDuration不起作用 您所在的位置:网站首页 Reddit客户端 UIImagePickerController 设置 VideoMaximumDuration不起作用

UIImagePickerController 设置 VideoMaximumDuration不起作用

2023-08-15 12:16| 来源: 网络整理| 查看: 265

今天突然用到用UIImagePickerController录制视频的功能,还有个需求就是录制的视频控制在12秒呢,刚好UIImagePickerController有这个属性我们可以设置下。

刚开始郁闷的是设置了

  pickerView.videoMaximumDuration = 12.0f;

这个也不行,不起作用,看代码是没有任何一点问题。

- (void)recordPicker:(id)sender { if (![UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) { // 检测设备是否支持录像。 UIAlertView* alert = [[UIAlertView alloc] initWithTitle:@"" message:@"设备无摄象头" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil]; [alert show]; [alert release]; return; } UIImagePickerController* pickerView = [[UIImagePickerController alloc] init]; pickerView.sourceType = UIImagePickerControllerSourceTypeCamera; NSArray* availableMedia = [UIImagePickerController availableMediaTypesForSourceType:UIImagePickerControllerSourceTypeCamera]; pickerView.mediaTypes = [NSArray arrayWithObject:availableMedia[1]]; [self presentModalViewController:pickerView animated:YES]; // 设置最大录像时间 pickerView.videoMaximumDuration = 12.0f; pickerView.delegate = self; [pickerView release]; } 这样看起来很ok,但是 pickerView. videoMaximumDuration这个怎么也不起作用,那怎么办呢?

找了找原因是因为我没有设置

pickerView.allowsEditing = YES;

加上了这个再次运行还是不行。奇怪了,然后在找找原因才发现是语句的位置不对,

[self presentModalViewController:pickerView animated:YES]; 这句话一定要放在后面,要不就没有作用。 最后代码入下:

- (void)recordPicker:(id)sender { if (![UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) { // 检测设备是否支持录像。 UIAlertView* alert = [[UIAlertView alloc] initWithTitle:@"" message:@"设备无摄象头" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil]; [alert show]; [alert release]; return; } UIImagePickerController* pickerView = [[UIImagePickerController alloc] init]; pickerView.sourceType = UIImagePickerControllerSourceTypeCamera; pickerView.allowsEditing = YES; NSArray* availableMedia = [UIImagePickerController availableMediaTypesForSourceType:UIImagePickerControllerSourceTypeCamera]; pickerView.mediaTypes = [NSArray arrayWithObject:availableMedia[1]]; pickerView.videoMaximumDuration = 12.0f; pickerView.delegate = self; [self presentModalViewController:pickerView animated:YES]; [pickerView release]; } 效果图:

效果图:

源代码下载地址



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有