是否有任何方法可以在保持来自同一应用程序的音频/视频通话时处理耳机命令?
我正在开发使用 CallKit 拨打电话的应用程序,最近我接到了一项任务,允许在用户双击 AirPods(下一曲目命令)时将通话静音。目前,任何操作都会导致通话结束,我找不到修改此行为的解决方法。FaceTime 和本地通话也发生了同样的事情。
到目前为止,我尝试使用 MPRemoteCommandCenter 来响应远程命令,例如
import MediaPlayer
let remoteCommandCenter = MPRemoteCommandCenter.shared()
Log.i("Setting up a remote command event handler.")
remoteCommandCenter.nextTrackCommand.addTarget { (action: MPRemoteCommandEvent) in
Log.i("Detected nextTrackCommand: \(action)") // Never is printed
return .success
}
remoteCommandCenter.nextTrackCommand.isEnabled = true
assert(audioSession.category == .playAndRecord)
我所有的想法都失败了,因为回调没有被调用。在这一点上,我开始认为这是一个硬件限制。