为什么 iOS 设备在推流过程中震动(Haptic Feedback)无效?
2026-06-15
产品 / 解决方案:Video Call / Audio Call / Live streaming
平台 / 框架:iOS
问题现象
iOS 端 App 集成 ZEGO Express SDK 后,在推流过程中,App 调用系统震动 / 触觉反馈相关接口(如 UIImpactFeedbackGenerator、UINotificationFeedbackGenerator、AudioServicesPlaySystemSound 等)不生效,设备不震动。
问题原因
这是 iOS 系统的默认行为,并非 SDK 缺陷。当 AVAudioSession 处于录音相关的 Category(record 或 playAndRecord)时,系统会默认屏蔽 App 触发的触觉反馈(Haptics)与系统提示音,以避免这些振动 / 声音被麦克风采集,从而干扰通话音质。
解决方案
ZEGO Express SDK 提供了高级配置项 allow_haptics_during_recording。将其设置为 true 后,SDK 会在内部把 allowHapticsAndSystemSoundsDuringRecording 属性置为 true,从而在推流期间保留 App 的震动能力。
注意
该配置需要在调用 createEngineWithProfile 创建引擎之前,通过 setEngineConfig 接口设置高级配置(advancedConfig)才能生效。
