【发布时间】:2014-10-30 11:06:22
【问题描述】:
我正在使用 UIImagePickerController 来录制、编辑视频并将其保存到文件中。关闭 UIImagePickerController 时,状态栏会闪烁红色并消失。我想避免这种情况。我注意到这一点从 iOS8.1、iOS8、iOS7.1 等开始逐渐减少
- (void) cameraClicked{
self.recordState=KRERecordStateRecording;
UIImagePickerController *pickerController = [[UIImagePickerController alloc] init];
pickerController.delegate = self;
pickerController.sourceType = UIImagePickerControllerSourceTypeCamera;
if(self.mediaType==MediaTypePhoto){
pickerController.mediaTypes = [[NSArray alloc] initWithObjects: (NSString *) kUTTypeImage, nil];
}else if(self.mediaType==MediaTypeVideo){
pickerController.mediaTypes = [[NSArray alloc] initWithObjects: (NSString *) kUTTypeMovie, nil];
pickerController.allowsEditing = YES;
pickerController.videoMaximumDuration=30.0f;
}
[self presentViewController:pickerController animated:YES completion:nil];
}
- (void)imagePickerController:(UIImagePickerController *)picker
didFinishPickingImage:(UIImage *)image
editingInfo:(NSDictionary *)editingInfo{
}
- (void)imagePickerController:(UIImagePickerController *)picker
didFinishPickingMediaWithInfo:(NSDictionary *)info{
[picker dismissViewControllerAnimated:YES completion:nil];
NSString *mediaType = [info objectForKey: UIImagePickerControllerMediaType];
if (CFStringCompare ((CFStringRef) mediaType, kUTTypeImage, 0)
== kCFCompareEqualTo) {
self.selectedMedia = [[NSArray alloc] initWithObjects:[info objectForKey:UIImagePickerControllerOriginalImage], nil];
[self saveMedia];
}else if(CFStringCompare ((CFStringRef) mediaType, kUTTypeMovie, 0)
== kCFCompareEqualTo){
videoURL= [info objectForKey:UIImagePickerControllerMediaURL];
[self saveMedia];
}
}
- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker{
[picker dismissViewControllerAnimated:YES completion:nil];
}
【问题讨论】:
-
在 appdelegate 中查看窗口颜色是什么
-
白色。这似乎是由于音频会话而发生的。当录音没有正确停止时,它曾经出现在我面前。
-
你有解决这个问题的办法吗@EdAbe
-
没有。只是一个解决方法:在关闭 UIImagePickerController 之前关闭 AudioSession [[AVAudioSession sharedInstance] setActive:NO error:nil] 似乎是唯一的选择
-
我面临同样的问题。任何想法都可以这样做。
标签: ios uiimagepickercontroller