Swift 中的 MPMoviePlayerController
Posted
技术标签:
【中文标题】Swift 中的 MPMoviePlayerController【英文标题】:MPMoviePlayerController in Swift 【发布时间】:2014-07-23 15:30:40 【问题描述】:我有这段代码,但它只显示一个黑框。
override func viewDidLoad()
super.viewDidLoad()
// Do any additional setup after loading the view.
var filepath: NSString = NSBundle.mainBundle().pathForResource("Akbar_ipad", ofType: "mp4")
var fileURL: NSURL = NSURL(string: filepath)
let moviePlayerController = MPMoviePlayerController(contentURL: fileURL)
moviePlayerController.shouldAutoplay = true
moviePlayerController.movieSourceType = MPMovieSourceType.File
moviePlayerController.view.frame = CGRect(x: 200, y: 200, width: 500, height: 300)
self.view.addSubview(moviePlayerController.view)
moviePlayerController.prepareToPlay()
moviePlayerController.play()
...
您知道如何解决我的问题吗?我要疯了!
感谢您的宝贵时间。
【问题讨论】:
【参考方案1】:我也有类似的问题:How to load MPMoviePlayerController contentUrl asynchronous when loading view?
但这里有一些想法给你:
可能 url 构造不正确/不是本地的。尝试使用:let fileURL = NSBundle.mainBundle().URLForResource("Akbar_ipad", withExtension: "mp4")
您可能需要一个全局变量来保存对电影播放器实例的引用(如文档中所述。
【讨论】:
我不明白为什么 NSBundle.mainBundle().pathForResource 不起作用而 NSBundle.mainBundle().URLForResource 起作用。谢谢:)【参考方案2】:对于您的问题,您可能忘记将资源添加为“捆绑资源” 按照以下步骤添加:
-
在项目导航器中选择您的项目根目录
选择“构建阶段”选项卡
在“捆绑资源”部分单击“+”添加您的资源
之后我认为您可以同时使用URLForResource
和pathForResource
【讨论】:
以上是关于Swift 中的 MPMoviePlayerController的主要内容,如果未能解决你的问题,请参考以下文章