AVPlayerview来自左上角

时间:2016-08-05 09:47:17

标签: ios objective-c avplayer avplayerviewcontroller

我正在使用AVPlayer播放视频。我在全屏模式下遇到问题。视频播放器来自左上角。看起来很奇怪。

NSString *filePath = [self.video_Array objectAtIndex:index];
NSString *soundFilePath = [[NSBundle mainBundle] pathForResource:filePath ofType: nil];
url = [[NSURL alloc] initFileURLWithPath: soundFilePath];
currentItem = [AVPlayerItem playerItemWithURL:url];
_playerViewController = [[AVPlayerViewController alloc] init];
_playerViewController.videoGravity = AVLayerVideoGravityResize;
_playerViewController.view.frame = self.view.bounds;
_playerViewController.showsPlaybackControls = NO;
_video=[AVPlayer playerWithURL:url];
_video = [AVPlayer playerWithPlayerItem:currentItem];
_playerViewController.player = _video;
[_playerViewController.player play];
[self.view addSubview:_playerViewController.view];

2 个答案:

答案 0 :(得分:1)

请参阅我的应用程序中正常工作的代码,

 -(void)videoPlayer:(NSString *)filePath{

    playerViewController = [[AVPlayerViewController alloc] init];
    self.viewPlayerContainer.frame = CGRectMake(0, 74, self.view.bounds.size.width, self.view.bounds.size.width);

    NSURL *url = [NSURL fileURLWithPath:filePath];

    AVURLAsset *asset = [AVURLAsset assetWithURL: url];
    AVPlayerItem *item = [AVPlayerItem playerItemWithAsset: asset];

    AVPlayer * player = [[AVPlayer alloc] initWithPlayerItem: item];
    playerViewController.player = player;
    playerViewController.videoGravity = AVLayerVideoGravityResizeAspectFill;
    [playerViewController.view setFrame:CGRectMake(0, 0, self.viewPlayerContainer.bounds.size.width, self.viewPlayerContainer.bounds.size.height)];
    [playerViewController addObserver:self forKeyPath:@"videoBounds" options:NSKeyValueObservingOptionNew context:nil];

    playerViewController.showsPlaybackControls = YES;

    [self.viewPlayerContainer addSubview:playerViewController.view];

    [player play];
}

答案 1 :(得分:0)

您可以使用AVPlayerViewController播放全屏视频

AVPlayerViewController+Fullscreen.h

#import <AVKit/AVKit.h>

@interface AVPlayerViewController (Fullscreen)

-(void)goFullscreen;

@end

AVPlayerViewController + Fullscreen.m

#import "AVPlayerViewController+Fullscreen.h"

@implementation AVPlayerViewController (Fullscreen)



 -(void)goFullscreen {
        self.modalPresentationStyle = UIModalPresentationOverFullScreen;
       [self presentViewController:self animated:YES completion:nil];
    }

@end