问题背景:当使用 AVPlayer 播放流式视频时,视频的显示大小可能会不正确,导致视频无法正确地显示在应用程序中。
我们可以通过设置 AVPlayerLayer 的 frame 属性,来指定视频的正确显示大小。下面是一个示例代码:
// 创建 AVPlayerItem let videoURL = URL(string: "https://example.com/video.m3u8")! let playerItem = AVPlayerItem(url: videoURL)
// 创建 AVPlayer let player = AVPlayer(playerItem: playerItem)
// 创建 AVPlayerLayer let playerLayer = AVPlayerLayer(player: player) playerLayer.frame = CGRect(x: 0, y: 0, width: view.bounds.width, height: view.bounds.height)
// 添加 AVPlayerLayer 到视图 view.layer.addSublayer(playerLayer)
// 开始播放 player.play()
在上面的代码示例中,我们首先创建了一个 AVPlayerItem 对象,然后使用该 AVPlayerItem 创建了一个 AVPlayer 对象。接下来,我们创建了一个 AVPlayerLayer 对象,并通过设置其 frame 属性,指定了视频的正确显示大小。最后,我们将 AVPlayerLayer 添加到视图中,并开始播放视频。
通过这种方式,我们就可以确保流式视频按照正确的大小显示在应用程序中,从而提供更好的用户体验。