2016-06-08 24 views
0

Bitte helfen Sie mir meinen Code zu bearbeiten. Ich kann diesen Fehler nicht beheben.Xcode Swift - unaufgelöster Bezeichner Fehler

import UIKit 
import AVKit 
import AVFoundation 
import MediaPlayer 

class ViewController: UIViewController { 

    let avPlayerViewControler = AVPlayerViewController() 
    var avPlayer:AVPlayer? 
    var videoNumber:Int! 
    var url:String! 

    override func viewDidLoad() { 
     super.viewDidLoad() 

     let urlpathString:String? = NSBundle.mainBundle().pathForResource("url", ofType: "mp4") 

     if let urlPath = urlpathString { 

      switch videoNumber { 
      case 1 : url="20" 
      case 2 : url="10" 
      default : break 
      } 
      let movieUrl = NSURL(fileURLWithPath: urlPath) 

     } 
     self.avPlayer = AVPlayer(URL: movieUrl) 
     self.avPlayerViewControler.player = self.avPlayer 

    } 

    @IBAction func Cool(sender: UIButton) { 
     videoNumber=1 
    } 
} 
+0

Nun, welche Kennung? – Alexander

+0

Self.avPlayer = AVPlayer (URL: urlPath) –

+1

'movieUrl' ist außerhalb des Gültigkeitsbereichs ... – Moritz

Antwort

2

Sie haben die beiden Linien in Bezug auf die avPlayer und avPlayerViewControler innerhalb des if zu bewegen, da die Konstante movieUrl nur innerhalb dieses Bereichs vorhanden ist - es ist nur existiert innerhalb des Umfangs es in definiert wurde, existiert es nicht außerhalb des if-Blocks!

override func viewDidLoad() { 
    super.viewDidLoad() 

    let urlpathString:String? = NSBundle.mainBundle().pathForResource("url", ofType: "mp4") 

    if let urlPath = urlpathString { 

     switch videoNumber { 
      case 1 : url="20" 
      case 2 : url="10" 
      default : break 
     } 
     let movieUrl = NSURL(fileURLWithPath: urlPath) 
     self.avPlayer = AVPlayer(URL: movieUrl) 
     self.avPlayerViewControler.player = self.avPlayer 
    } 
} 
+0

Ich habe getan was hast du gesagt. Wenn ich auf die Schaltfläche klicke, wird das Video nicht abgespielt. Bitte helfen –

+1

@MorganEvansMedia leider ist das ein ganz anderes Problem. Sie sollten Ihre Code-Logik überdenken, welche Methode was macht und zu welcher Zeit aufgerufen wird. Momentan drücken Sie auf einen Knopfdruck * nur * eine * Nummer, wie soll sich diese Zahl ändern * irgendwas *? – luk2302

+0

@MorganEvansMedia ... und Sie sollten darüber nachdenken, meine Antwort zu akzeptieren, da es offenbar Ihr Problem behoben hat, nämlich den Fehler. Dein Code läuft immer noch nicht, aber genau dafür ist deine zweite Frage zuständig. Wenn Sie glauben, dass meine Antwort korrekt ist, können Sie auf das Häkchen auf der linken Seite klicken. – luk2302

Verwandte Themen