質問: tvOSアプリで動画再生時に「〜秒早送り」「〜秒巻き戻し」といったボイスコマンド対応を行いたいです。 `AVPlayerViewController`ならこのようなSiriコマンドに対応している、という記載は見つけたのですが、 今回は`UIViewController`を使用して`AVPlayerLayer`での動画再生をしており、その場合の対応方法が見つかりません。 **質問** **`UIPlayerViewController`を使う際にSiriのボイスコマンドに対応する方法はあるのでしょうか?** #### これまでに調べたこと * `MPRemoteCommandCenter`を使えないか? https://github.com/Lax/iOS-Swift-Demos/tree/master/MPRemoteCommandSample 上記リンク内の記述を参考に、`MPRemoteCommandCenter`を使えないか調べてみました。 結果、コード上で`MPRemoteCommandCenter`というクラス自体が認識されませんでした。(AVKitだと思ったのですが) * `UIGestureRecognizer`でイベントを拾える? https://stackoverflow.com/questions/44562925/getting-mpremotecommandcenter-shared-to-work-in-tvos さらに調べると、`MPRemoteCommandCenter`はバックグラウンドの制御方法であり、普通に動画再生中のコントロールは`UIGestureRecognizer`を使うとの記載を見つけました。(上記リンク) しかしそれ以上`UIGestureRecognizer`を使ったボイスコマンド対応の記載が見つけられず終いです。 ###### 参考 ※Using AVPlayerViewController in tvOSに「Siriコマンド使える」旨が記載されていました。 https://developer.apple.com/documentation/avkit/avplayerviewcontroller
回答: `MPRemoteCommandCenter`を利用することでSiriのボイスコマンドを有効にできました。 バックグラウンドとは、`AVPlayerLayer`という意味のバックグラウンドということだったようです。 サンプルソースは以下にありました。 https://github.com/Lax/iOS-Swift-Demos/tree/master/MPRemoteCommandSample