- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在以编程方式为我的应用添加介绍视频。我收到以下警告。任何想法我做错了什么? 我对 swift 和 iOS 开发还很陌生。
2018-04-19 13:11:56.295952+0200 [1779:395252] [LayoutConstraints] Unable to simultaneously satisfy constraints. Probably at least one of the constraints in the following list is one you don't want. Try this: (1) look at each constraint and try to figure out which you don't expect; (2) find the code that added the unwanted constraint or constraints and fix it. ( "", "", " (active, names: '|':UIStackView:0x15dd29110 )>", "", " (active, names: '|':UIStackView:0x15dd29110 )>" )
Will attempt to recover by breaking constraint
Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger. The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in may also be helpful. 2018-04-19 13:11:56.296790+0200 [1779:395252] [LayoutConstraints] Unable to simultaneously satisfy constraints. Probably at least one of the constraints in the following list is one you don't want. Try this: (1) look at each constraint and try to figure out which you don't expect; (2) find the code that added the unwanted constraint or constraints and fix it. ( "", "", "", "UILayoutGuide:0x1d41bd180'UIViewLayoutMarginsGuide'
(active, names: '|':UIStackView:0x15dd29110 )>", " (active, names: '|':UIStackView:0x15dd29110 )>" )Will attempt to recover by breaking constraint
Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger. The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in may also be helpful.
var movieController: AVPlayer?
let playerViewController = AVPlayerViewController()
override func viewDidLoad() {
playVideo()
}
func playVideo() {
let path = Bundle.main.path(forResource: appData.videoFile, ofType: appData.videoExtension)
let url = URL(fileURLWithPath: path!)
movieController = AVPlayer(url: url)
NotificationCenter.default.addObserver(self, selector:#selector(movieFinished),name: NSNotification.Name.AVPlayerItemDidPlayToEndTime, object: movieController?.currentItem)
playerViewController.player = self.movieController
playerViewController.delegate = self
playerViewController.view.frame = self.view.bounds
playerViewController.showsPlaybackControls = false
playerViewController.videoGravity = "AVLayerVideoGravityResizeAspectFill"
playerViewController.view.translatesAutoresizingMaskIntoConstraints = false
playerViewController.player?.play()
self.view.addSubview(playerViewController.view)
}
@objc func movieFinished() {
let value = UIInterfaceOrientation.portrait.rawValue
UIDevice.current.setValue(value, forKey: "orientation")
UIViewController.attemptRotationToDeviceOrientation()
UIView.animate(withDuration: 1.5, delay: 0, options: .curveEaseIn, animations: {
self.playerViewController.view.alpha = 0.0
}, completion: { (finished: Bool) in
self.playerViewController.view.removeFromSuperview()
})
}
最佳答案
我最终通过使用 AVPlayerLayer 和 AVPlayerItem 解决了这个问题。
var player:AVPlayer?
var playerItem:AVPlayerItem?
let playerLayer:AVPlayerLayer? = nil
override func loadView() {
super.loadView()
startWebiew()
}
func playVideo() {
let path = Bundle.main.path(forResource: appData.videoFile, ofType: appData.videoExtension)
let url = URL(fileURLWithPath: path!)
let playerItem:AVPlayerItem = AVPlayerItem(url: url)
player = AVPlayer(playerItem: playerItem)
let playerLayer=AVPlayerLayer(player: player!)
playerLayer.frame = view.bounds
playerLayer.videoGravity = AVLayerVideoGravity.resizeAspectFill
playerLayer.player?.play()
view.layer.addSublayer(playerLayer)
}
关于ios - Swift 4 使用 AVPlayerViewController() 时无法同时满足约束条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49919996/
在 Apple API Reference 中,它说不要像上面那样子类化 AVPlayerViewController。我想知道为什么。我特意写了一个演示子类AVPlayerViewControlle
当我们播放视频并返回到父窗口时,我遇到内存泄漏。请参阅下面的分配工具读数屏幕截图。 每次,当我弹出 View Controller (显示视频)时,都会有一些与 AVFoundation 相关的对象占
我正在为我的应用程序设计登录屏幕,我希望在其中有动画 Logo 。我创建了一个小视频文件(大约 1 Mb)并使用以下代码创建了 AVPlayerViewController 实例: let video
正确的 UIKit 方法: 根据 Apple 的 WWDC 2019 talk on the subject , AVPlayerViewController 应以模态方式呈现,以利用 API 的所有
我有一个 AVPlayerViewController我用 AVPlayer 初始化还有一些 AVPlayerItem (iOS 10、Xcode 8、Objective C)。AVPlayerVie
所以我试图从这个项目源编辑一些源代码... https://github.com/ariiyu/VideoPlayerSample 所以,当我只是尝试替换视频路径并文件时,它崩溃了,我不知道为什么?
在我的 tvOS 应用程序中,我有一个 AVPlayerViewController,通过显示转场呈现,如果没有找到视频,它会显示警报并展开到上一个 View 。我创建一个警报 Controller
我已经实现了一个标准的 Swift 视频播放器:- let path = NSBundle.mainBundle().pathForResource(assetName, ofType: "m4
我正在使用 AVPlayerViewController 来播放视频。问题是如何检测视频是否开始播放?通常是添加目标,但我找不到可以在该事件中添加的任何目标。有人能帮我吗?提前致谢。 最佳答案 使用来
如果先前的 View Controller 已实例化,我的自定义 AVPlayerViewController 将不会自动旋转。如果我呈现 AVPlayerViewController,它会旋转,如果
我必须快速创建一个视频流应用程序(使用远程网址)。但没有任何确切的视频格式。有时它可以是 m3u8 有时是 mp4 等..但我的视频播放器应该支持来自后端的格式。 此外,当应用程序在后台时,音频应该播
我正在为 iOS 开发一个应用程序,我已经构建了代码,一旦选择了 TableView 中的单元格,它就会转至 AVPlayerViewController 并根据选择的单元格行播放本地视频剪辑。但是当
我们可以将自定义播放速度(0.5、1.0、1.5、2.0)控制添加到 AVPlayerViewController 吗? 有没有一种方法可以使用 UISlider 值更改来刷新速度? 如果正在播放,我
我使用 AVPlayerViewController,我想在视频结束时淡出...我可以捕获视频结束事件,并且我为 AVPlayer 编写的代码可以工作,但对于 AVPlayerViewControll
我在我的项目中添加了一个 DemoVideo.mp4 并将其添加到复制资源文件中。但是当我运行该应用程序时,它不会播放我的视频。这是我的方法。 private func setUpAndPlayVid
我想知道 AVPlayerViewController 何时被关闭或退出全屏以更改其父 View Controller 布局,但我没有找到一个委托(delegate)方法来告诉我它何时发生。 我试过像
我想在使用 AVPlayerViewController 时删除音频和字幕按钮。我按如下方式创建 Controller : // Create the view controller and play
我使用 AVPlayerViewController 播放视频,它工作正常。但是当时设备映射方向运行时它不显示 AVPlayerViewController 状态栏。所以我无法关闭 AVPlayerV
在我的 View Controller 上,我添加了一个 AVPlayerViewController 作为子 Controller 。 它能够播放来自网络的音频和视频文件。但是,我想在按下暂停按钮或
我创建了一个播放器并且大部分时间都运行良好。 在某些情况下(我没有意识到为什么)屏幕视频保持黑色,播放按钮不执行任何操作。 我验证了 url,没问题,这不是问题。 在我的 viewController
我是一名优秀的程序员,十分优秀!