Posts

Post not yet marked as solved
0 Replies
184 Views
When I try to build a demo app for exploring PIP Swap feature using custom player view controller, I'm facing an issue that play and pause not working on the PIP window playback. But when I use AVPlayerViewController. I can pause and play the PIP window playback. Here is the sample code attached.     var nowPlayingSession: MPNowPlayingSession?     var player: AVPlayer? {         didSet {             playerLayer = AVPlayerLayer(player: player)             if player != nil {                 nowPlayingSession = MPNowPlayingSession(players: [player!])                 nowPlayingSession?.remoteCommandCenter.pauseCommand.addTarget(handler: { [weak self] event in                     guard let self = self else { return .commandFailed }                     self.pause()                     return .success                 })                 nowPlayingSession?.remoteCommandCenter.playCommand.addTarget(handler: { [weak self] event in                     guard let self = self else { return .commandFailed }                     self.play()                     return .success                 })                 nowPlayingSession?.remoteCommandCenter.togglePlayPauseCommand.addTarget(handler: { [weak self] event in                     guard let self = self else { return .commandFailed }                     self.togglePlayPause()                     return .success                 })             }         }     }     override func viewDidLayoutSubviews() {         super.viewDidLayoutSubviews()         playerLayer?.frame = view.bounds         publishNowPlayingMetadata()     }     func publishNowPlayingMetadata() {         var nowPlayingInfo = [String: Any]()         nowPlayingInfo[MPMediaItemPropertyTitle] = "Unknown Content"         nowPlayingInfo[MPMediaItemPropertyPlaybackDuration] = 15.0         nowPlayingInfo[MPNowPlayingInfoPropertyDefaultPlaybackRate] = 1.0         nowPlayingInfo[MPMediaItemPropertyArtist] = "Unknown Artist"         nowPlayingInfo[MPMediaItemPropertyAlbumArtist] = "Unknown Album Artist"         nowPlayingInfo[MPMediaItemPropertyAlbumTitle] = "Unknown Album Title"         nowPlayingSession?.nowPlayingInfoCenter.nowPlayingInfo = nowPlayingInfo         nowPlayingSession?.becomeActiveIfPossible()     } Ref: https://developer.apple.com/documentation/avkit/adopting_picture_in_picture_playback_in_tvos (The above changes are made on top of it. ) Please suggest for changes.
Posted
by Melki_CT.
Last updated
.