AVPlayer在模拟器上运行,但不是真正的设备
问题描述:
在我的应用程序中,我想在我的真实设备上播放本地视频。我正在使用我的系统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()
}
}
}
答
愿这能帮助你。
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()
}
}
}
在真实设备中,您的网址可能会发生变化,这就是为什么不播放视频。你不能这样做这个硬代码网址。 –
谢谢,如果我不能给出这样的路径,那我该怎么办?我知道本地服务器的IP和文件位置 –
您可以将视频存储在服务器上并回收它的URL。或者您可以通过制作文件夹将视频存储在设备中的文档目录中,然后您可以访问该文件夹内的路径。 –