UIImagePickerController captureMode 分配不正确
UIImagePickerController captureMode not assigning correctly
我正在使用 UIImagePickerController 从我的应用中拍摄照片和视频。在两者之间切换还不错。如果用户选择录制视频,我先检查这个:
if (picker.cameraCaptureMode == UIImagePickerControllerCameraCaptureModeVideo)
{
[self captureVideo];
}
else
{
picker.cameraCaptureMode = UIImagePickerControllerCameraCaptureModeVideo;
[self captureVideo];
}
这通常工作得很好。这是问题所在。我还使用 Tokbox 的 OpenTok 进行视频通话,似乎 captureMode 分配在视频通话后不起作用。看起来完全疯了,但我做了这个修改来做一些调试:
if (picker.cameraCaptureMode == UIImagePickerControllerCameraCaptureModeVideo)
{
[self captureVideo];
}
else
{
picker.cameraCaptureMode = UIImagePickerControllerCameraCaptureModeVideo;
if (picker.cameraCaptureMode != UIImagePickerControllerCameraCaptureModeVideo)
{
NSLog(@"Assignment unsuccessful???")
}
[self captureVideo];
}
而且我每次都会收到此 "Assignment unsuccessful???" 日志。 UIImagePickerController 不得允许分配或其他内容。我真的想不通。我还在 OpenTok 的网站上创建了一个论坛 post,看看他们是否可能不发布一些相机资源,但我认为这不是他们的问题。
这里有什么见解吗?
使用:
+ (NSArray *)availableCaptureModesForCameraDevice:(UIImagePickerControllerCameraDevice)cameraDevice
检查哪些来源类型可用。此外,如果您使用的是模拟器,它永远不会正确分配。
已通过 TokBox 论坛上的解决方案解决。在尝试访问麦克风之前,我需要先更改我的音频会话。
AVAudioSession *mySession = [AVAudioSession sharedInstance];
[mySession setCategory:AVAudioSessionCategorySoloAmbient error:nil];
[self presentViewController:picker animated:YES completion:NULL];
我正在使用 UIImagePickerController 从我的应用中拍摄照片和视频。在两者之间切换还不错。如果用户选择录制视频,我先检查这个:
if (picker.cameraCaptureMode == UIImagePickerControllerCameraCaptureModeVideo)
{
[self captureVideo];
}
else
{
picker.cameraCaptureMode = UIImagePickerControllerCameraCaptureModeVideo;
[self captureVideo];
}
这通常工作得很好。这是问题所在。我还使用 Tokbox 的 OpenTok 进行视频通话,似乎 captureMode 分配在视频通话后不起作用。看起来完全疯了,但我做了这个修改来做一些调试:
if (picker.cameraCaptureMode == UIImagePickerControllerCameraCaptureModeVideo)
{
[self captureVideo];
}
else
{
picker.cameraCaptureMode = UIImagePickerControllerCameraCaptureModeVideo;
if (picker.cameraCaptureMode != UIImagePickerControllerCameraCaptureModeVideo)
{
NSLog(@"Assignment unsuccessful???")
}
[self captureVideo];
}
而且我每次都会收到此 "Assignment unsuccessful???" 日志。 UIImagePickerController 不得允许分配或其他内容。我真的想不通。我还在 OpenTok 的网站上创建了一个论坛 post,看看他们是否可能不发布一些相机资源,但我认为这不是他们的问题。
这里有什么见解吗?
使用:
+ (NSArray *)availableCaptureModesForCameraDevice:(UIImagePickerControllerCameraDevice)cameraDevice
检查哪些来源类型可用。此外,如果您使用的是模拟器,它永远不会正确分配。
已通过 TokBox 论坛上的解决方案解决。在尝试访问麦克风之前,我需要先更改我的音频会话。
AVAudioSession *mySession = [AVAudioSession sharedInstance];
[mySession setCategory:AVAudioSessionCategorySoloAmbient error:nil];
[self presentViewController:picker animated:YES completion:NULL];