Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/119.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios swift 3错误:类型';AVLayerVideoGravity&x27;没有成员';调整AspectFill的大小';_Ios_Swift3_Avfoundation_Avplayerlayer - Fatal编程技术网

Ios swift 3错误:类型';AVLayerVideoGravity&x27;没有成员';调整AspectFill的大小';

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

我正在使用Swift 3开发一个iOS应用程序,我在后台播放视频。我的代码运行完全正常,直到出现错误消息:

类型
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

默认值为AVLayerVideoGravityResizeAspect


您所指的枚举案例属于Swift 4

您需要说:

avPlayerLayer.videoGravity = AVLayerVideoGravity.resizeAspectFill .rawValue

也许试着去掉句号,所以它是AVLayerVideoGravityResizeAspectFill…我试过了-对于swift 3,它被重命名了,所以句号是必需的。你在哪个Xcode版本上运行?