2017-06-18 67 views
1

我正在使用Swift 3的iOS應用程序,我在後臺播放視頻。我的代碼工作完全正常,直到隨機出現錯誤消息:swift 3 error:輸入'AVLayerVideoGravity'沒有任何成員'resizeAspectFill'

Type AVLayerVideoGravity aka (NSString) has no member resizeAspectFill

出現。我無法弄清楚爲什麼resizeAspectFill不再被識別。有什麼我失蹤?我試過清理我的項目,但那並沒有解決任何問題。任何幫助將不勝感激:) 下面是代碼:(不幸的鏈接重定向到雨燕4版本要查看更改使顯示API在頂部改變右)

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) 
+0

也許嘗試取出時期,所以它的'AVLayerVideoGravityResizeAspectFill' ... –

+0

我試過但─爲SWIFT 3的已被重命名,以便這段時間是必要的 –

+0

您正在運行哪個Xcode版本? –

回答

5

documentation of AVPlayerLayer

The video gravity determines how the video content is scaled or stretched within the player layer’s bounds. The player layer supports the following video gravity values:

  • AVLayerVideoGravityResizeAspect

  • AVLayerVideoGravityResizeAspectFill

  • AVLayerVideoGravityResize

The default value is AVLayerVideoGravityResizeAspect .


你指的是枚舉案件屬於Swift 4

相關問題