如何去除视频中的黑色空间?斯威夫特

Posted

技术标签:

【中文标题】如何去除视频中的黑色空间?斯威夫特【英文标题】:How to remove black space in a video? SWIFTUI 【发布时间】:2021-06-17 15:42:08 【问题描述】:

我不知道如何去除视频中的黑色空间,.ignoresSafeArea(.all) 没有帮助。

image

这就是我的代码

    struct PlayerView: UIViewControllerRepresentable 
    var videoURL : String
    func makeUIViewController(context: UIViewControllerRepresentableContext<PlayerView>) -> AVPlayerViewController 
    
    let controller = AVPlayerViewController()
    let player = AVPlayer(url: URL(string: videoURL)!)
    player.play()
    NotificationCenter.default.addObserver(forName: .AVPlayerItemDidPlayToEndTime, object: player.currentItem, queue: .main)  _ in
                           player.seek(to: CMTime.zero)
                           player.play()
       
        
    controller.player = player
    controller.showsPlaybackControls = false
    return controller

    

func updateUIViewController(_ uiViewController: AVPlayerViewController, context: UIViewControllerRepresentableContext<PlayerView>) 
    
    

【问题讨论】:

这是你的答案吗? ***.com/a/65795050/14733292 【参考方案1】:

这可能会解决问题:

    首先用视频的 aspectRatio 声明一个属性。例如:

    let aspectRatio: CGFloat = 478 / 849
    

    在查看代码的第二步,将视频播放器包装在 Geometry Reader 中,如下所示:

    GeometryReader  geo in  
        VideoPlayer(player: AVPlayer(url: URL(string: videoURL)!))  
            .frame(height: geo.size.width * aspectRatio)
    
    

【讨论】:

以上是关于如何去除视频中的黑色空间?斯威夫特的主要内容,如果未能解决你的问题,请参考以下文章

Qtablewidget 去除黑色空间 PyQt5

如何去除黑色空间IOS Navigation-embedded View?

Unity透明视频/去除视频黑色shader

UITabBar 去除黑色背景

如何在php GD中应用旋转功能后去除黑色背景?

如何去除材质 PageView 组件中的飞溅?