Ios swift 3错误:类型';AVLayerVideoGravity&x27;没有成员';调整AspectFill的大小';
我正在使用Swift 3开发一个iOS应用程序,我在后台播放视频。我的代码运行完全正常,直到出现错误消息: 类型Ios swift 3错误:类型';AVLayerVideoGravity&x27;没有成员';调整AspectFill的大小';,ios,swift3,avfoundation,avplayerlayer,Ios,Swift3,Avfoundation,Avplayerlayer,我正在使用Swift 3开发一个iOS应用程序,我在后台播放视频。我的代码运行完全正常,直到出现错误消息: 类型AVLayerVideoGravityaka(NSString)没有成员resizeAspectFill 出现了。我根本不明白为什么resizeAspectFill不再被识别。有什么我遗漏的吗?我试着清理我的项目,但这并不能解决任何问题。任何帮助都将不胜感激:) 代码如下: import Foundation import AVFoundation import UIKit clas
AVLayerVideoGravity
aka(NSString
)没有成员resizeAspectFill
出现了。我根本不明白为什么resizeAspectFill不再被识别。有什么我遗漏的吗?我试着清理我的项目,但这并不能解决任何问题。任何帮助都将不胜感激:)
代码如下:
import Foundation
import AVFoundation
import UIKit
class HomeViewController: UIViewController {
// MARK: Properties
var avPlayer: AVPlayer!
var avPlayerLayer: AVPlayerLayer!
var paused: Bool = false
var enterButton: UIButton! = UIButton()
override func viewDidLoad() {
super.viewDidLoad()
self.title = "Welcome"
let theURL = Bundle.main.url(forResource:"hannah", withExtension: "mp4")
avPlayer = AVPlayer(url: theURL!)
avPlayerLayer = AVPlayerLayer(player: avPlayer)
avPlayerLayer.videoGravity = AVLayerVideoGravity.resizeAspectFill
avPlayer.volume = 0
avPlayer.actionAtItemEnd = .none
avPlayerLayer.frame = view.layer.bounds
view.backgroundColor = .clear
view.layer.insertSublayer(avPlayerLayer, at: 0)
NotificationCenter.default.addObserver(self,
selector: #selector(playerItemDidReachEnd(notification:)),
name: NSNotification.Name.AVPlayerItemDidPlayToEndTime,
object: avPlayer.currentItem)
从(不幸的是,链接重定向到Swift 4版本。要查看更改,请在右上角启用Show API更改)
视频重力决定了视频内容的缩放方式
在玩家层的边界内拉伸。播放器层支持
以下视频重力值:
- AVLayerVideoGravityResizeAspect
- AVLayerVideoGravityResizeAspectFill
- AVLayerVideoGravityResize
您所指的枚举案例属于Swift 4您需要说:
avPlayerLayer.videoGravity = AVLayerVideoGravity.resizeAspectFill .rawValue
也许试着去掉句号,所以它是AVLayerVideoGravityResizeAspectFill…我试过了-对于swift 3,它被重命名了,所以句号是必需的。你在哪个Xcode版本上运行?