2017-08-24 156 views
0

在我的应用程序中,我想在我的真实设备上播放本地视频。我正在使用我的系统WiFi热点将网络连接到我的设备。AVPlayer在模拟器上运行,但不是真正的设备

此代码在模拟器上完美运行,但不在真实设备上运行。

import UIKit 
import AVKit 
import AVFoundation 
class SafaribroserViewController: UIViewController { 

     var playerViewController = AVPlayerViewController() 
     var playerView = AVPlayer() 
     override func viewDidLoad() { 
      super.viewDidLoad() 

     } 


     @IBAction func hsdgfsf(_ sender: Any) { 
      let fileURL = NSURL.init(fileURLWithPath: "/Volumes/E/adam/small.mp4") 
      playerView = AVPlayer(url: fileURL as URL) 
      playerViewController.player = playerView 
      present(playerViewController,animated:true) { 
       self.playerViewController.player?.play() 
      } 
     } 
} 
+0

在真实设备中,您的网址可能会发生变化,这就是为什么不播放视频。你不能这样做这个硬代码网址。 –

+0

谢谢,如果我不能给出这样的路径,那我该怎么办?我知道本地服务器的IP和文件位置 –

+0

您可以将视频存储在服务器上并回收它的URL。或者您可以通过制作文件夹将视频存储在设备中的文档目录中,然后您可以访问该文件夹内的路径。 –

回答

0

愿这能帮助你。

import UIKit 
    import AVKit 
    import AVFoundation 

class ViewController: UIViewController { 

var player = AVPlayer() 
override func viewDidAppear(_ animated: Bool) { 
    super.viewDidAppear(animated) 
    playVideo() 
} 

func playVideo() { 
    let path = Bundle.main.path(forResource: "myvideo", ofType:"m4v") 
    let player = AVPlayer(url: URL(fileURLWithPath: path)) 
    let playerController = AVPlayerViewController() 
    playerController.player = player 
    present(playerController, animated: true) { 
     player.play() 
    } 
    } 
} 
相关问题