LoginSignup
1
0

More than 5 years have passed since last update.

[tvos] 入力切り替え・テレビ電源切断時の挙動メモ

Posted at

入力切り替え・テレビ電源切断時に AppDelegate Notification AVPlayer の挙動についてメモ

端末

AppleTV tvOS11.4

AppDelegateについて

UIApplicationDelegate UIApplicationState
入力切り替え(別へ) func applicationWillResignActive(_ application: UIApplication) active
入力切り替え(AppleTVへ) func applicationDidBecomeActive(_ application: UIApplication) active
AppleTVからHDMI抜く func applicationWillResignActive(_ application: UIApplication) active
AppleTVにHDMI差す func applicationDidBecomeActive(_ application: UIApplication) active
TVの電源OFF 反応なし
TVの電源ON 反応なし

AVPlayer、Notificationについて

AVPlayer.rate Notification
入力切り替え(別へ) 0 UIApplicationWillResignActiveNotification
入力切り替え(AppleTVへ) 1 AVAudioSessionRouteChangeNotification
UIApplicationDidBecomeActiveNotification
AppleTVからHDMI抜く 0 UIApplicationWillResignActiveNotification
AppleTVにHDMI差す 1 AVAudioSessionRouteChangeNotification
UIApplicationDidBecomeActiveNotification
TVの電源OFF 反応なし
TVの電源ON 反応なし

ログサンプル

入力切り替え(別へ)

AVPlayer.rate: 0.0
applicationWillResignActive applicationState=>active
Notification.Name(_rawValue: UIApplicationWillResignActiveNotification)
AVPlayer.rate: 0.0

入力切り替え(AppleTVへ)

Notification.Name(_rawValue: AVAudioSessionRouteChangeNotification)
applicationDidBecomeActive applicationState=>active
Notification.Name(_rawValue: UIApplicationDidBecomeActiveNotification)
AVPlayer.rate: 1.0

AppleTVからHDMI抜く

AVPlayer.rate: 0.0
applicationWillResignActive applicationState=>active
Notification.Name(_rawValue: UIApplicationWillResignActiveNotification)
AVPlayer.rate: 0.0

AppleTVにHDMI差す

Notification.Name(_rawValue: AVAudioSessionRouteChangeNotification)
applicationDidBecomeActive applicationState=>active
Notification.Name(_rawValue: UIApplicationDidBecomeActiveNotification)
AVPlayer.rate: 1.0

TVの電源OFF

:cry:

TV電源ON

:cry:

スクリーンセーバー

applicationWillResignActive applicationState=>active
Notification.Name(_rawValue: UIApplicationWillResignActiveNotification)
AVPlayer.rate: 0.0

スリープ

applicationDidEnterBackground applicationState=>background
Notification.Name(_rawValue: UIApplicationDidEnterBackgroundNotification)
application(_:shouldSaveApplicationState:) applicationState=>background
application(_:willEncodeRestorableStateWith:) applicationState=>background
Notification.Name(_rawValue: AVAudioSessionInterruptionNotification)
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0