录制时振动iPhone

问题描述 投票:3回答:2

我正在尝试让我的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);

但不起作用。但是它不会振动。它记录的很好,如果我在停止记录之前先打个振动,则停止后再振动。

显然是个错误,有人知道解决方法吗?

iphone objective-c cocoa-touch audio
2个回答
3
投票

我的猜测是,在录音过程中振动功能受到了特别的抑制。在录制音频时,您可以通过做通常会使电话振动的其他操作(例如,在静音开关打开的情况下向自己发送短信)来轻松测试这一点-我敢打赌,它也不会因此振动。

This earlier thread confirms my view.


0
投票

最后!从iOS 13开始,AVAudioSession上有一个新属性

        let _ = try? AVAudioSession.sharedInstance().setCategory(.playAndRecord)
        if #available(iOS 13.0, *) {
            let _ = try? AVAudioSession.sharedInstance().setAllowHapticsAndSystemSoundsDuringRecording(true)
        }
© www.soinside.com 2019 - 2024. All rights reserved.