4

私のアプリでは、ユーザーは画面上の UIButton を押したときにマイクに向かってコマンドを言うことができ (もう一度押すとリッスンを停止します)、コードを実行します (-> これは機能します)。

ユーザーが画面上の UIButton の代わりにヘッドフォンの再生/一時停止ボタンを押したとき (および彼がこの VC にいるとき) に同じことをしたいと思います。

iPhone ヘッドフォンの再生/一時停止ボタンの使用方法に関するチュートリアルをかなり見てきましたが、それらを機能させることができませんでした。

ボタンを押しても反応しません。ライブラリから音楽を再生/一時停止するだけです。

現在、UIButton がある VC は、これが追加したコードですが、remoteControlReceived 関数には入りません。

override var canBecomeFirstResponder : Bool {
    return true
}

override func viewDidAppear(_ animated: Bool) {
    super.viewDidAppear(animated)
    self.becomeFirstResponder()
    UIApplication.shared.beginReceivingRemoteControlEvents()
}

override func remoteControlReceived(with event: UIEvent?) {
    if (event?.type == UIEventType.remoteControl) {
        if event?.subtype == UIEventSubtype.remoteControlTogglePlayPause {
            //execute the code ...
        }
    }
}
4

0 に答える 0