Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Multiple AVPlayers with AVPlayerLayers disappears second time push viewcontroller

I have a viewcontroller with four (4) AVPlayers (with AVPlayerLayers like APPLE example).

If I pop this viewcontroller and the push a new instance of the same type. I'm not able to play video in one or two AVPlayers. No errors and code runs fine, AVPlayerLayers also says it has a superLayer.

And to the most strange thing if I push home button, coming back to springboard and the enter the app all video players like magic start playing. It's like it rerender the view tree or something.

Any hints or clues?

PS. I wait for assets to be ready using loadValuesAsynchronouslyForKeys.

like image 639
Max Avatar asked Apr 07 '26 18:04

Max


1 Answers

We had a similar problem. Following answer lead to the solution: AVplayer not showing in ScrollView after 2-3 times

You have to call: [AVPlayer replaceCurrentItemWithPlayerItem:nil]; when your viewcontroller gets unloaded. This might be tricky as you might have added an observer or used addBoundaryTimeObserverForTimes:queue:usingBlock:

Also you have to be careful when checking agaings superlayer: Better check against uiview.window when determing whether your view is still attached to the view hierarchy.

yours phil

like image 170
hellphil Avatar answered Apr 09 '26 21:04

hellphil



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!