Как воспроизвести тактильную обратную связь во время работы сеанса AvCapture?

Когда мой сеанс Avcapture запущен и готов к записи видео, я не могу воспроизводить и аудиофайлы, вибрировать или воспроизводить тактильную обратную связь? Я нашел решение только для цели c, но не быстро.

Решение Objective C: одновременное использование вибрации и AVCaptureSession


person Ayman Abdallah    schedule 16.06.2017    source источник
comment
вздох... Я борюсь с той же проблемой - у меня есть AVCaptureSession с предварительным просмотром в реальном времени, и я также хочу обеспечить тактильную обратную связь, когда пользователь нажимает на кнопки. Если я добавлю audioInput в свой AVCaptureSession, я вообще не смогу создать тактильную обратную связь. Я пытался добавить audioInput непосредственно перед началом записи и удалить сразу после остановки, но изменение конфигурации сеанса захвата приводит к сбоям предварительного просмотра в реальном времени (он становится полностью черным на долю секунды). И я до сих пор понятия не имею, как Snapchat и Instagram делают этот трюк.   -  person Dan Karbayev    schedule 30.07.2017
comment
Ты когда-нибудь понял это, Данияр?   -  person gbhall    schedule 14.11.2017
comment
См. мой ответ здесь stackoverflow.com/a/50009624/928911   -  person Max Sokolov    schedule 24.04.2018


Ответы (2)


Пока вы используете микрофон в AVCaptureSession, тактильная обратная связь не будет воспроизводиться.

Apple пытается предотвратить нарушение захвата микрофона вибрацией. Это указано в https://developer.apple.com/documentation/audiotoolbox/1405202-audioservicesplayalertsound

Если вы еще не записываете с микрофона (как вы сказали, вы просто находитесь в «состоянии готовности»), то решение состоит в том, чтобы отложить добавление микрофона до тех пор, пока вы не захотите начать запись.

Конечно, во время записи вы все равно можете не воспроизводить тактильную обратную связь.

person samwize    schedule 01.09.2019

Вы можете использовать setAllowHapticsAndSystemSoundsDuringRecording с iOS13 и более поздних версий.

try session.setAllowHapticsAndSystemSoundsDuringRecording(true)
person Shibo Qin    schedule 24.12.2020