How can i change AVPlayer Video Quality while play

2019-04-01 09:36发布

问题:

I user this library for playing video from URL. and I am able to play video.

Now I want to change the currently playing video quality like (low, medium, high).

It uses AVPlayer and how can i change quality with AVPlayer?

I listen about preferred​Peak​Bit​Rate but I have no idea about it.

Please help me how can i do that?

回答1:

You cannot set video quality directly on the AVPlayer, however, you can do this by accessing videoComposition property on AVPlayerItem which is then supplied to AVPlayer (via for example replaceCurrentItem: method or on AVPlayer initialization). So:

  1. Create or get you AVPlayerItem's AVVideoComposition instance, and set it's frameDuration, renderSize and renderScale properties. Take a look in docs for more info.
  2. Set it to your "movie" videoComposition property, AVPlayerItem instance (again, look in docs for details).
  3. Play that in your player.

If you want to do this on the fly while playing movie, adjustments of time for player item should be done I guess.