Я использовал этот метод How do I get my AVPlayer to play while app is in background?, чтобы воспроизвести AVPlayer в фоновом режиме, чтобы пользователь мог прослушивать при просмотре сафари и т. Д. Только проблема заключается в том, что AVPlayer продолжает воспроизводиться, когда есть входящий вызов и остается во время разговора. Есть ли способ поймать события входящего вызова и завершения вызова, чтобы AVPlayer можно было остановить и запустить вручную?Как прервать AVPlayer для входящего вызова вручную
2
A
ответ
1
С помощью рамки coreTelephony
мы должны найти или обнаружить входящий звонок. Оттуда вы должны инициировать свое местное уведомление, чтобы остановить ваш AVPlayer
. после импорта сделать как это
CTCallCenter * _callCenter = [[CTCallCenter alloc] init];
_callCenter.callEventHandler = ^(CTCall* call)
{
if ([call.callState isEqualToString:CTCallStateDisconnected])
{
NSLog(@"Call has been disconnected");
}
else if([call.callState isEqualToString:CTCallStateDialing])
{
NSLog(@"Call start");
}
else if ([call.callState isEqualToString:CTCallStateConnected])
{
NSLog(@"Call has just been connected");
}
else if([call.callState isEqualToString:CTCallStateIncoming])
{
NSLog(@"Call is incoming");
// You have to initiate/post your local notification through NSNotification center like this
[[NSNotificationCenter defaultCenter] postNotificationName:@"stopAVPlayer" object:nil];
} else
{
NSLog(@"None of the conditions");
}
};
Смотрите так: https://developer.apple.com/library/ios/navigation/#section=Frameworks&topic=CoreTelephony
Смежные вопросы
- 1. AVplayer возобновление после входящего вызова
- 2. Отдельный приемник для входящего вызова
- 3. Как установить приоритет входящего вызова
- 4. Как показать активность входящего вызова
- 5. Как остановить/прервать работу планировщика кварца вручную
- 6. Класс входящего вызова iPhone?
- 7. Найти IMSI входящего вызова
- 8. Звездочка: обнаружение входящего вызова
- 9. Настраиваемый экран входящего вызова
- 10. Обнаружение входящего вызова
- 11. блокировки входящего вызова - Android
- 12. отслеживать действие входящего вызова
- 13. Падение входящего вызова
- 14. Запись входящего вызова
- 15. Как прервать нить в Java, которая ждет входящего соединения
- 16. Twilio Sip Dial для входящего вызова
- 17. Команда Adb для отмены/отладки входящего вызова
- 18. Сбой приложения для Android после входящего вызова
- 19. Blackberry - использование EventInjector для игнорирования входящего вызова
- 20. изменение голоса для входящего вызова twilio
- 21. Обнаружение входящего вызова iphone 5
- 22. Прерывание входящего вызова в android
- 23. MC52i/MC55i Автоматический прием входящего вызова
- 24. Asterisk AMI отслеживание входящего вызова
- 25. вручную прервать обновление GPS в Android
- 26. Программно получить номер входящего вызова
- 27. Блокировка входящего вызова в android
- 28. Проверка входящего вызова на Iphone
- 29. Как обрабатывать начало/конец входящего/исходящего вызова
- 30. Как автоматически вызвать приложение после входящего вызова
Пример кода, кажется, отсутствует из этой ссылки. Должен ли CTCallCenter быть создан в AppDelegate и взаимодействовать с методами ViewController через NSNotificationCenter? Или он может быть создан в контроллере просмотра вместе с экземпляром AVPlayer? – TijuanaKez