iOS 9 : Using AVPlayerViewController Swift.(划掉播放按钮)

标签 ios swift avfoundation avkit

我在 iOS 设备和模拟器中播放视频内容时遇到一些问题。

目标:从此处提供的在线资源流式传输视频: public video streams using hls使用 AVPlayerViewController , 只是为了了解它是如何工作的。

这始终没有引发任何错误,但 View Controller 向我展示了这个 View 。

AvPlayerViewController

我决定退后一步并在本地资源上进行测试,因此我用 quicktime (.m4v) 拍摄了一个简短的屏幕截图并将其直接保存到项目中。这导致了完全相同的行为,没有报告任何错误。

这是代码(AVKitAVFoundation 是导入的):

var playerVC : AVPlayerViewController!
var playerItem : AVPlayerItem!
var player : AVPlayer!
var playerLayer: AVPlayerLayer!

override func viewDidAppear(animated: Bool) {

    let bundle = NSBundle.mainBundle()
    let path = bundle.pathForResource("testVideos", ofType: "m4v")
    let url = NSURL.init(string: path!)

    playerItem = AVPlayerItem.init(URL: url!)
    player = AVPlayer.init(playerItem: playerItem)
    playerVC = AVPlayerViewController.init();
    playerVC.player = player;

    self.presentViewController(playerVC, animated: true) { () -> Void in
        self.playerVC.player?.play()
    }
}

构建 IpadMini 4 时看到此警告:<CATransformLayer: 0x136ea1030> - changing property masksToBounds in transform-only layer, will have no effect

Xcode:版本 7.1 定位:iOS 9.0

更新 只是 AVPlayerViewController 的一些讨厌的约束输出。我不认为这是有贡献的,但它是:

2015-10-28 15:12:02.777 AVKitTest[4441:94545] 无法同时满足约束条件。 可能至少以下列表中的约束之一是您不想要的。 尝试这个: (1)查看每个约束并尝试找出您不期望的; (2) 找到添加了不需要的约束或约束的代码并修复它。 (注意:如果您看到不理解的 NSAutoresizingMaskLayoutConstraints,请参阅 UIView 属性 translatesAutoresizingMaskIntoConstraints 的文档) ( "", "", "", "", "", "", "", “” )

最佳答案

事实证明这很愚蠢,只需要更改:

let url = NSURL.init(string: path!) playerItem = AVPlayerItem.init(URL: url!)

与:

let url = NSURL.init(fileURLWithPath: path!) 让 playerItem = AVPlayerItem.init(URL: url)

关于iOS 9 : Using AVPlayerViewController Swift.(划掉播放按钮),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33373315/

相关文章:

swift - 守卫不展开可选

swift - 具有关联类型和可选方法的协议(protocol)

ios 9 AVCaptureDevice 设置焦点

ios - 如何使用 UITableViewCell 的 accessoryButton 作为 Popover 的 anchor

objective-c - iPad:UISplitViewController 顶部在 UITabViewController 内部被切断

ios - 核心数据是否会延迟刷新数据模型?

iOS 8.4 AVFoundation _attachToPlayer 或 _attachToFigPlayer 崩溃 |一个 AVPlayerItem 不能与多个 AVPlayer 实例相关联

ios - 尝试放置横幅样式添加以随内容滚动

ios - 当我点击标记时,Google map 的旧行为

ios - 将前置摄像头与 AVFoundation 一起使用时,闪光灯不起作用