2017-07-06 48 views
1

我有一個小小的代碼,可以讓我在播放UIButton時播放本地文件。但我想要的是在3個不同的UIButton上播放多個文件,因爲我有3個視頻文件,我要將它們附加到我的應用程序。Swift3使用AVPlayer播放多個視頻文件

這是當前的代碼:

import UIKit 
import AVFoundation 
import AVKit 

class ViewController: UIViewController { 

    var playerController = AVPlayerViewController() 
    var player:AVPlayer? 


    override func viewDidLoad() { 
     super.viewDidLoad() 
     // Do any additional setup after loading the view, typically from a nib. 

     let videoString:String? = Bundle.main.path(forResource: "Video", ofType: ".mp4") 

     if let url = videoString { 

      let videoURL = NSURL(fileURLWithPath: url) 

      self.player = AVPlayer(url: videoURL as URL) 
      self.playerController.player = self.player 



     } 


    } 

    override func didReceiveMemoryWarning() { 
     super.didReceiveMemoryWarning() 
     // Dispose of any resources that can be recreated. 
    } 

    @IBAction func PlayVideo(_ sender: AnyObject) { 

     self.present(self.playerController, animated: true, completion: { 

      self.playerController.player?.play() 

     }) 

    } 


} 

回答

0

您可以在點擊按鈕funtions創建不同的視頻文件的URL

@IBAction func Button1Click(_ sender: AnyObject) { 
    let videoString:String? = Bundle.main.path(forResource: "Video1", ofType: ".mp4") 

    if let url = videoString { 
     let videoURL = NSURL(fileURLWithPath: url) 
     self.player = AVPlayer(url: videoURL as URL) 
     self.playerController.player = self.player 
    } 

    self.present(self.playerController, animated: true, completion: { 
     self.playerController.player?.play() 

    }) 

} 

@IBAction func Button2Click(_ sender: AnyObject) { 
    let videoString:String? = Bundle.main.path(forResource: "Video2", ofType: ".mp4") 

    if let url = videoString { 
     let videoURL = NSURL(fileURLWithPath: url) 
     self.player = AVPlayer(url: videoURL as URL) 
     self.playerController.player = self.player 
    } 

    self.present(self.playerController, animated: true, completion: { 
     self.playerController.player?.play() 

    }) 

} 

@IBAction func Button3Click(_ sender: AnyObject) { 
    let videoString:String? = Bundle.main.path(forResource: "Video3", ofType: ".mp4") 

    if let url = videoString { 
     let videoURL = NSURL(fileURLWithPath: url) 
     self.player = AVPlayer(url: videoURL as URL) 
     self.playerController.player = self.player 
    } 

    self.present(self.playerController, animated: true, completion: { 
     self.playerController.player?.play() 

    }) 

}