我正在尝试让我的iPhone在录音时振动。
我试过这个:
UInt32 category = kAudioSessionCategory_PlayAndRecord;
status |= AudioSessionSetProperty(kAudioSessionProperty_AudioCategory, sizeof(category), &category);
UInt32 allowMixing = true;
status |= AudioSessionSetProperty (
kAudioSessionProperty_OverrideCategoryMixWithOthers, // 1
sizeof (allowMixing), // 2
&allowMixing // 3
);
status |= AudioSessionSetProperty(
kAudioSessionProperty_OtherMixableAudioShouldDuck, // 1
sizeof (allowMixing), // 2
&allowMixing // 3
);
根据建议here。然后通过调用
振动设备AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);
但它不起作用。但它不振动。它记录得很好,如果我在停止录制之前调用振动片刻,它会在停止后振动。
显然这是一个错误,有人知道一个解决方法吗?
答案 0 :(得分:3)
我的猜测是在录音过程中特别抑制了振动功能。您可以通过做一些通常会使手机振动的其他东西(例如,在您录制音频的同时发送静音开关的短信)来轻松测试这一点 - 我的赌注是它也不会因此而振动。
答案 1 :(得分:0)
最后!从iOS 13开始,AVAudioSession新增了一个属性
let _ = try? AVAudioSession.sharedInstance().setCategory(.playAndRecord)
if #available(iOS 13.0, *) {
let _ = try? AVAudioSession.sharedInstance().setAllowHapticsAndSystemSoundsDuringRecording(true)
}