如何在视图中播放视频而不是全屏?

ali*_*ine 12 video ios swift

我需要在不是全屏的视图中播放视频(比如facebook)!有人可以帮忙吗?我正在使用swift 2和xcode 7.我用谷歌搜索了它,但我找到的只是用AVPlayerViewController和全屏运行.

Ps:抱歉英文不好.

ali*_*ine 24

这有效:

class BeginController: UIViewController {
 @IBOutlet weak var videoPreviewLayer: UIView!
 var player: AVPlayer!
 var avpController = AVPlayerViewController()

 override func viewDidLoad() {
    super.viewDidLoad()
    let moviePath = NSBundle.mainBundle().pathForResource("Hello Moto", ofType: "mp4")
    if let path = moviePath {
        let url = NSURL.fileURLWithPath(path)
        self.player = AVPlayer(url: url)
        self.avpController = AVPlayerViewController()
        self.avpController.player = self.player
        avpController.view.frame = videoPreviewLayer.frame
        self.addChildViewController(avpController)
        self.view.addSubview(avpController.view)            
    }
    // Do any additional setup after loading the view.
}
Run Code Online (Sandbox Code Playgroud)


Mic*_*chK 3

您可以尝试使用AVPlayerLayer所需的尺寸和位置并在其上播放视频。

设置播放器和图层的示例代码:

- (void)setupPlayer
{
    AVPlayerItem *playerItem = [AVPlayerItem playerItemWithURL:<Your video item URL>];
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(playFinished:) name:AVPlayerItemDidPlayToEndTimeNotification object:playerItem];

    self.player = [AVPlayer playerWithPlayerItem:playerItem];

    self.playerLayer = [AVPlayerLayer playerLayerWithPlayer:self.player];

    self.playerLayer.videoGravity = AVLayerVideoGravityResizeAspectFill;

    [self.view.layer addSublayer:self.playerLayer];
}
Run Code Online (Sandbox Code Playgroud)

有关AVPlayerAVPlayerLayer的更多信息