iOS 14 中的纵向视频不再保留纵横比
Portrait videos no longer retain aspect ratio in iOS 14
使用带有 XCode 12 和 iOS 14 的版本 Texture 3.0.0,一个只出现在 iOS 14 设备上的问题是纵向视频以错误的分辨率加载(他们似乎将宽度与高度交换了。
自动播放正常,但手动播放不正常。
纵向视频坏了,但横向视频没有。
问题是应用的重力似乎使用错误的方式拉伸视频 width/height 纵向视频。
下面的示例应用(使用我上传的 public 肖像视频):
//
// ViewController.swift
// test video
//
// Created by Ericos Georgiades on 22/09/2020.
//
import UIKit
import AVFoundation
import AsyncDisplayKit
class ViewController: UIViewController {
@IBOutlet weak var videoView: UIView!
private let videoNode = ASVideoNode();
override func viewDidLoad() {
super.viewDidLoad()
videoNode.gravity = AVLayerVideoGravity.resizeAspectFill.rawValue;
videoNode.muted = true;
videoNode.shouldAutorepeat = true;
videoNode.shouldAutoplay = false; // works if true
videoView.addSubnode(videoNode);
videoNode.frame = videoView.frame;
let asset = AVAsset(url: URL(string: "https://storage.googleapis.com/pao-uat-6b24c.appspot.com/users/0QhK2lnaQ49BftJTRQ46/spots/7q0Q2TjiIyHyrNTBbJOO/media/WaMnS8Np5vkTcIV0rGyJ/WaMnS8Np5vkTcIV0rGyJ?alt=media&token=75542345-06cc-4e37-a422-1ff2a1cf47c2")!)
videoNode.asset = asset
DispatchQueue.main.asyncAfter(deadline: .now() + 5) {
self.videoNode.play();
}
}
}
我还没有弄清楚这是否是库的错误,或者是否可以在 Swift 中解决这个问题而无需库修复(或者如果根本不需要它)。
上作为错误发布
使用带有 XCode 12 和 iOS 14 的版本 Texture 3.0.0,一个只出现在 iOS 14 设备上的问题是纵向视频以错误的分辨率加载(他们似乎将宽度与高度交换了。
自动播放正常,但手动播放不正常。 纵向视频坏了,但横向视频没有。 问题是应用的重力似乎使用错误的方式拉伸视频 width/height 纵向视频。
下面的示例应用(使用我上传的 public 肖像视频):
//
// ViewController.swift
// test video
//
// Created by Ericos Georgiades on 22/09/2020.
//
import UIKit
import AVFoundation
import AsyncDisplayKit
class ViewController: UIViewController {
@IBOutlet weak var videoView: UIView!
private let videoNode = ASVideoNode();
override func viewDidLoad() {
super.viewDidLoad()
videoNode.gravity = AVLayerVideoGravity.resizeAspectFill.rawValue;
videoNode.muted = true;
videoNode.shouldAutorepeat = true;
videoNode.shouldAutoplay = false; // works if true
videoView.addSubnode(videoNode);
videoNode.frame = videoView.frame;
let asset = AVAsset(url: URL(string: "https://storage.googleapis.com/pao-uat-6b24c.appspot.com/users/0QhK2lnaQ49BftJTRQ46/spots/7q0Q2TjiIyHyrNTBbJOO/media/WaMnS8Np5vkTcIV0rGyJ/WaMnS8Np5vkTcIV0rGyJ?alt=media&token=75542345-06cc-4e37-a422-1ff2a1cf47c2")!)
videoNode.asset = asset
DispatchQueue.main.asyncAfter(deadline: .now() + 5) {
self.videoNode.play();
}
}
}
我还没有弄清楚这是否是库的错误,或者是否可以在 Swift 中解决这个问题而无需库修复(或者如果根本不需要它)。
上作为错误发布