1

同じアプリから発信されたオーディオ/ビデオ通話中にヘッドセット コマンドを処理する方法はありますか?

私は 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)

コールバックが呼び出されなかったため、私のアイデアはすべて失敗しました。この時点で、これはハードウェアの制限であると考え始めています。

4

0 に答える 0