iOS 360度视频播放器,可从 AVPlayer 流式传输视频。
Swifty360Player 版本 | 最低 iOS 目标版本 | Swift 版本 |
---|---|---|
0.2.7 | 11.0 | 5.x |
0.2.2 | 11.0 | 4.2 |
0.2.1 | 10.0 | 4.1 |
0.2 | 10.0 | 4.0 |
CocoaPods 是 Cocoa 项目的依赖管理器。您可以使用以下命令安装它:
$ gem install cocoapods
要使用 CocoaPods 将 Swifty360Player 集成到您的 Xcode 项目中,请在您的 Podfile 中指定它:
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '11.0'
use_frameworks!
target '<Your Target Name>' do
pod 'Swifty360Player', '0.2.7'
end
然后,运行以下命令:
$ pod install
Carthage 是一个去中心化的依赖管理器,它构建您的依赖项并为您提供二进制框架。
您可以使用 Homebrew 使用以下命令安装 Carthage:
brew update
brew install carthage
要使用 Carthage 将 Swifty360Player 集成到您的 Xcode 项目中,请在您的 Cartfile 中指定它:
github "abdullahselek/Swifty360Player" ~> 0.2.7
运行 `carthage update` 来构建框架,并将构建的 Swifty360Player.framework 拖到您的 Xcode 项目中。
修改您的 Package.swift 文件以包含以下依赖项:
.package(url: "https://github.com/abdullahselek/Swifty360Player.git", from: "0.2.7")
运行 swift package resolve
XCFrameworks 需要 Xcode 11 或更高版本,并且集成方式与 .framework 格式的集成非常相似。请使用脚本 scripts/build-framework.sh 生成二进制 Swifty360Player.xcframework 存档,您可以将其用作 Xcode 中的依赖项。
Swifty360Player.xcframework 是一个 Release(优化)二进制文件,可提供最佳的 Swift 代码性能。
您只需要一个使用有效的视频 URL 创建的 AVPlayer
实例和一个 Swifty360MotionManager
实例。您可以在 UIViewController
实例中使用这些代码片段。
视频网址可以是本地的,也可以是远程的。
let videoURL = URL(fileURLWithPath: Bundle.main.path(forResource: "google-help-vr", ofType: "mp4")!)
let player = AVPlayer(url: videoURL)
let motionManager = Swifty360MotionManager.shared
swifty360ViewController = Swifty360ViewController(withAVPlayer: player, motionManager: motionManager)
addChildViewController(swifty360ViewController)
view.addSubview(swifty360ViewController.view)
swifty360ViewController.didMove(toParentViewController: self)
player.play()
let tapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(reorientVerticalCameraAngle))
view.addGestureRecognizer(tapGestureRecognizer)
点击手势处理程序
@objc func reorientVerticalCameraAngle() {
swifty360ViewController.reorientVerticalCameraAngleToHorizon(animated: true)
}
使用 Storyboard 和 Swifty360ViewController
作为父类
guard let swifty360ViewController = self.storyboard?.instantiateViewController(withIdentifier: "TestViewController") as? TestViewController else {
return
}
let videoURL = URL(fileURLWithPath: Bundle.main.path(forResource: "google-help-vr", ofType: "mp4")!)
let player = AVPlayer(url: videoURL)
let motionManager = Swifty360MotionManager.shared
swifty360ViewController.player = player
swifty360ViewController.motionManager = motionManager
self.present(swifty360ViewController, animated: true, completion: nil)
import UIKit
import Swifty360Player
class TestViewController: Swifty360ViewController {
override func viewDidLoad() {
super.viewDidLoad()
player.play()
}
}
使用代码命令的 Swifty360View
的示例用法
let videoURL = URL(fileURLWithPath: Bundle.main.path(forResource: "google-help-vr", ofType: "mp4")!)
let player = AVPlayer(url: videoURL)
let motionManager = Swifty360MotionManager.shared
let swifty360View = Swifty360View(withFrame: view.bounds,
player: player,
motionManager: motionManager)
swifty360View.setup(player: player, motionManager: motionManager)
view.addSubview(swifty360View)
player.play()
使用 Storyboard 使用 Swifty360View
UIView
添加到您的 viewcontroller,并将其类更改为 Swifty360View
和
let videoURL = URL(fileURLWithPath: Bundle.main.path(forResource: "google-help-vr", ofType: "mp4")!)
let player = AVPlayer(url: videoURL)
let motionManager = Swifty360MotionManager.shared
swifty360View.setup(player: player, motionManager: motionManager)
player.play()
为 Swifty360View
创建点击手势识别器,为您的 viewcontroller 的视图创建一个识别器
let tapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(reorientVerticalCameraAngle))
view.addGestureRecognizer(tapGestureRecognizer)
和选择器函数
@objc func reorientVerticalCameraAngle() {
swifty360View.reorientVerticalCameraAngleToHorizon(animated: true)
}
Swifty360Player 在 MIT 许可证下发布。有关详细信息,请参见 LICENSE。