正如问题所述,是否有任何方法可以在 avplayer 中旋转视频。
目前,我正在展示一个模态类,它是 avplayercontroller 的一个实例。整个应用程序仅以纵向模式运行,但我希望该视频以横向模式播放。
我已经尝试过这里列出的“shouldAutorotate”和其他方法: Only ONE VIEW landscape mode
Swift 似乎不喜欢让模态呈现的 View Controller 有不同的方向。
我的视频 Controller 类的代码
import UIKit
import AVFoundation
import AVKit
class streamStuffViewController: AVPlayerViewController {
var isPresented = true
override func viewDidLoad() {
super.viewDidLoad()
self.player = AVPlayer(URL: NSURL(string: currentStream))
self.player.play()
// Do any additional setup after loading the view.
}
override func viewWillDisappear(animated: Bool) {
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
override func viewDidDisappear(animated: Bool) {
self.player.pause()
}
}
最佳答案
func application(_ application: UIApplication, supportedInterfaceOrientationsFor window: UIWindow?) -> UIInterfaceOrientationMask {
if let navigationController = self.window?.rootViewController as? UINavigationController {
if navigationController.visibleViewController is PlayVideoViewController {
return UIInterfaceOrientationMask.all
} else {
return UIInterfaceOrientationMask.portrait
}
}
return UIInterfaceOrientationMask.portrait
}
如果您的应用程序仅在 potrait 模式下工作,但您只想让 avplayer 旋转,则将此代码添加到 AppDelegate.swift 文件并将“PlayVideoViewController”替换为您的 ControllerName。
关于ios - 旋转 avplayer 视频?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34350489/