视频播放器上方和下方的大空间

Posted

技术标签:

【中文标题】视频播放器上方和下方的大空间【英文标题】:Big spaces above and below video player 【发布时间】:2021-03-11 08:47:33 【问题描述】:

我添加了一个视频播放器来播放流视频。现在顶部和底部都有一些空格。

import SwiftUI
import AVKit

struct LivePageView: View 
    var body: some View 
        VStack 
            Text("Top")
            VideoPlayer(player: AVPlayer(url:  URL(string: "https://stream.site.com:1500/hls/stream.m3u8")!))
                .frame(idealHeight: 300)
                .edgesIgnoringSafeArea(.all)
            Text("Bottom")
        
        .background(Color.blue)
        .navigationBarHidden(true)
        .navigationBarBackButtonHidden(true)
    

如何删除这些空格?

【问题讨论】:

您还需要顶部和底部文本吗?如果您删除该空间不应该存在。 我添加 Text() 只是为了举例。 删除它并尝试。我在我这边测试了它现在有额外的空间。你也可以使用 Ztack。 如果我删除它们,视频会延伸到全屏。这是对的。但是我真正的应用程序在顶部和底部有不同的内容。并且由于视频的遮挡,顶部有很大的空间无法移除。 【参考方案1】:

我找到了我的问题的解决方案。问题出在NavigationView

import SwiftUI

struct ContentView: View 
    var body: some View 
        NavigationView 
            VStack 
                LivePageView()
            
            .navigationBarHidden(true)
            .navigationBarBackButtonHidden(true)
        
    

以下是正确代码示例:

import SwiftUI

struct ContentView: View 
    var body: some View 
        VStack 
            LivePageView()
        
    

玩家工作很好。

【讨论】:

以上是关于视频播放器上方和下方的大空间的主要内容,如果未能解决你的问题,请参考以下文章

如何打造支撑多种视频播放诉求的大前端播放器?

设计一个视频播放器

分享一套最新 vue.js 视频教程及源码笔记

从零开始的异世界!使用<img>和<iFrame>等HTML基础标签制作一个视频播放网站

两列 DIV 布局变为一列中心对齐

空间背景视频怎么搞自动播放