gpt4 book ai didi

ios - 在 Storyboard中选择设备使 iphone x 和以前的 UI 有所不同 - 视频播放器 : ios swift

转载 作者:行者123 更新时间:2023-11-28 13:49:19 25 4
gpt4 key购买 nike

大家好,我有一个奇怪的问题 - 我正在视频播放器中播放视频。用于相同的代码是:

let url = URL(string: "xxxxxxxxxx.mp4")
player = AVPlayer(url: url!)
playerLayer = AVPlayerLayer(player: player)
playerLayer.videoGravity = .resize
// make the layer the same size as the container view
playerLayer.frame = self.viewVidioPlayer.layer.bounds

self.viewVidioPlayer.layer.addSublayer(playerLayer)

self.observer = player!.addPeriodicTimeObserver(forInterval: CMTimeMakeWithSeconds(1, preferredTimescale: 1), queue: DispatchQueue.main) { (CMTime) -> Void in
if self.player!.currentItem?.status == .readyToPlay {

if let currentItem = self.player!.currentItem {
let duration = currentItem.asset.duration
print("Total Duration - \(duration)")
}


let time : Float64 = CMTimeGetSeconds(self.player!.currentTime());
//print("\(time)")
print("Intro Video stress Overlay - \(time)")

let playbackLikelyToKeepUp = self.player?.currentItem?.isPlaybackLikelyToKeepUp
if playbackLikelyToKeepUp == false {
//print("Here start the activity indicator inorder to show buffering")
}else{
//print("stop the activity indicator")
}
}
}

在 Storyboard 中,我的视频 View 对顶部、底部、前导、尾随的 super View 进行了限制,然后我播放了视频。这里的问题很奇怪,当我选择 Storyboard并选择 iPhone 7 时 - 它适用于 iPhone 7 但不适用于 iPhone x,当我选择 iPhone X 并在 iPhone X 中运行时,它运行良好但不适用于 iPhone 7。有黑色空间在两侧。谁能解释可能是什么问题?任何帮助将不胜感激。

最佳答案

这是由于 iPhone X 的 safe area 而发生的问题。尝试将约束设置到 superview 而不是 安全区

我在我的一个项目中注意到,如果您的视频的纵横比与 iPhone X 的纵横比不匹配,也可能会发生此问题。为了解决这个问题,我设计了不同版本的视频,并设计了不同的纵横比设备。我有一个版本适用于 iPad,一个版本适用于没有缺口的 iPhone,还有一个版本适用于有缺口的 iPhone。同时尝试将您的 videoGravity 设置为 AVLayerVideoGravity.resizeAspect

即使您将播放器 View 设置为与父 View 的边界相匹配,player 层的帧也将是视频宽高比的帧。

您可以通过尝试将视频层缩放到帧大小来解决此问题。但这会导致您的视频要么在宽度上拉伸(stretch),要么在高度上拉伸(stretch),看起来很奇怪。

关于ios - 在 Storyboard中选择设备使 iphone x 和以前的 UI 有所不同 - 视频播放器 : ios swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54942501/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com