Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

avplayer fullscreen

I have a AVPlayer used with an AVAsset for playing a video.

I added some controls like play, stop, forward etc...

But how can I switch to fullscreen with a button? I don't want to use MPMoviePlayerController because I don't know how to synchronize starttime. But how can I simply "expand" current playerView to use fullScreen?

Thanks.

like image 873
Andrea Avatar asked Apr 25 '26 15:04

Andrea


2 Answers

  1. If AvPlayer has same frame as view or window

    • To make AVPlayer as full screen you have to give total frame of window to AVPlayer layer than rotate a view by pi/2 .
  2. If AvPlayer has less frame of view or window

    • Create on protocal to parent to change frame of player to window frame when user presses landscape button

    • Rotate a view by pi/2.

create one method and use below code.

-(void)enlarge
{
    if(!_isLandscapeMode)
    {
        [self.landscapeDelegate changeFrameForLandscapeMode:YES];
        [_landscapeMode setImage:[UIImage imageNamed:IMAGE_NAME_PORTRAIT_MODE] forState:UIControlStateNormal];
        _isLandscapeMode=YES;

        self.transform =  CGAffineTransformMakeRotation(M_PI_2);
    }
    else
    {
        [self.landscapeDelegate changeFrameForLandscapeMode:NO];
        _isLandscapeMode=NO;
        [_landscapeMode setImage:[UIImage imageNamed:IMAGE_NAME_LANDSCAPE_MODE] forState:UIControlStateNormal];
        self.transform =  CGAffineTransformMakeRotation(0);
    }
}
like image 137
Kumar Swamy Avatar answered Apr 28 '26 06:04

Kumar Swamy


Lets say you have a UIViewController that has a UIView fullscreen

You need to use AVPlayerLayer

var player = AVPlayer(playerItem: AVPlayerItem(asset: asset))
var layer = AVPlayerLayer(player: player)
self.view.layer.addSublayer(layer)
layer.frame = CGRectMake(0,0,self.view.frame.size.width,self.view.frame.size.height)
like image 42
Andrius Steponavičius Avatar answered Apr 28 '26 07:04

Andrius Steponavičius



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!