Я работаю над приложением с функцией аудио / видео звонков. Я хочу интегрировать такую функцию, как минимизация видео / аудио звонков, пока видео / аудио звонки продолжаются Пользователь может переходить на другие контроллеры представления, но, тем не менее, он может восстановить контроллер Audion / Video так же, как это делает Viber.
В настоящее время я представляю контроллер просмотра аудио / видео, поэтому у меня есть только отклоненная опция, которая приводит к завершению текущего вызова. Пожалуйста, помогите мне узнать, как Viber делает это.
Я использую callkit для обработки A / V входящего вызова. Я разработал класс CallViewController, который отвечает за макет A / V-вызова. Ниже представлен способ представления CallViewController из файла Appdelegate.m.
// Я использую Quickblox для аудио / видео звонков
[CallKitManager.instance reportIncomingCallWithUserIDs: [копия оппонента] сессия: сессия uuid: self.callUUID onAcceptAction: ^ {
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Second" bundle:nil];
UIViewController *strongSelf = [Util fetchLastViewcontroller];
CallViewController *callViewController =
[storyboard instantiateViewControllerWithIdentifier:@"CallViewController"];
callViewController.session = session;
//callViewController.usersDatasource = strongSelf.dataSource;
callViewController.callUUID = self.callUUID;
UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:callViewController];
self.nav = nav;
[strongSelf presentViewController:nav animated:NO completion:nil];
} completion:nil]
Так что теперь, если пользователь должен перемещаться по другому экрану, скажем, к экрану чата, тогда мне нужно было закрыть callViewController. Но я хочу, чтобы CallViewController все еще оставался в памяти, и мне нужно получить его обратно, как это делает Viber.
Я прикрепил скриншот Viber
В приведенной ниже ссылке на изображение пользователь может перейти к экрану чата с помощью A / V-вызова и наоборот.
https://i.stack.imgur.com/kodFz.jpg