AVKit 中的 VideoPlayer 的视频显示大小可以通过设置 AVPlayerLayer 的 frame 属性来调整。AVPlayerLayer 是 AVPlayer 的视图层,它显示了 AVPlayer 的视频内容。

以下是一个示例代码,展示如何调整 AVPlayerLayer 的大小来调整视频播放器的大小:

import AVKit
import SwiftUI

struct VideoPlayerView: UIViewControllerRepresentable {
    var videoURL: URL

    func makeUIViewController(context: UIViewControllerRepresentableContext<VideoPlayerView>) -> AVPlayerViewController {
        let player = AVPlayer(url: videoURL)
        let playerViewController = AVPlayerViewController()
        playerViewController.player = player
        playerViewController.videoGravity = .resizeAspectFill // 设置视频填充模式
        return playerViewController
    }

    func updateUIViewController(_ uiViewController: AVPlayerViewController, context: UIViewControllerRepresentableContext<VideoPlayerView>) {
        // 更新视图控制器
    }
}

struct ContentView: View {
    var body: some View {
        VStack {
            VideoPlayerView(videoURL: URL(string: 'https://www.example.com/video.mp4')!)
                .frame(width: 300, height: 200) // 设置视频播放器的大小
        }
    }
}

在上面的示例代码中,我们使用 AVPlayerViewController 来呈现视频播放器,并设置 AVPlayerLayer 的 videoGravity 属性来指定视频填充模式。通过设置 VideoPlayerView 的 frame 属性,我们可以调整视频播放器的大小。

SwiftUI AVKit 视频播放器大小调整 - 设置 AVPlayerLayer 尺寸

原文地址: https://www.cveoy.top/t/topic/oslg 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录