UIImagePickerController открывает режим изображения вместо режима видео после использования функций Opentok

Я использую Opentok v2.0 в своем приложении iOS для чата/звонка с другими онлайн-пользователями. Приложение также имеет функцию записи видео при отсутствии интернета, чтобы их можно было загрузить позже. Все работает соответственно, но когда я записываю видео после использования функций Opentok, UIImagePickerController открывает режим изображения вместо режима видео. Вот мой код вызова камеры для записи видео.

if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera])
{
    self.picker = [[UIImagePickerController alloc] init];
    self.picker.sourceType = UIImagePickerControllerSourceTypeCamera;
    self.picker.allowsEditing = NO;
    self.picker.delegate = self;
    self.picker.mediaTypes = [NSArray arrayWithObject:(NSString *)kUTTypeMovie];
    self.picker.cameraCaptureMode = UIImagePickerControllerCameraCaptureModeVideo;
    [self presentViewController:self.picker animated:YES completion:nil];    
}

Это ошибка Opentok или я что-то не так делаю? Пожалуйста, поделитесь своими мыслями

С уважением


person ihammys    schedule 15.12.2014    source источник


Ответы (1)


Это ошибка OpenTok iOS SDK версии 2.3.1. Чтобы обойти эту проблему, вы можете использовать приведенный ниже код после выхода из сеанса OpenTok и перед открытием файла UIImagePickerController. Я бы предложил поместить это в ваш метод sessionDidDisconnect

[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryRecord error:nil];

не забудьте установить для объекта Session значение nil для очистки.

Теперь, если вы хотите снова войти в сеанс и иметь правильный звук, вам нужно будет вызвать:

[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayAndRecord
           withOptions:AVAudioSessionCategoryOptionDefaultToSpeaker error:nil];

Вы можете поместить эту строку кода перед соединением с методом connectWithToken объекта сеанса.

person Hashir Baqai    schedule 23.12.2014