我正在尝试使用 Panframe 框架(Panframe 网站)创建一个 360 度视频应用程序。该框架是在 Objective-C 中创建的,因此我还使用 GitHub 上的 PanframeSDKWrapper 来“快速化” Panframe 框架(GitHub 上的 PanframeSDKWrapper )。
我有一个带有以下代码的 Viewcontroller:
import UIKit
class HomeViewController: UIViewController, PanframeAssetObserver {
var pfView: PanframeView!
var pfAsset: PanframeAsset!
@IBOutlet weak var myWebView: UIWebView!
@IBOutlet weak var PlayButton: UIButton!
@IBOutlet weak var StopButton: UIButton!
override func viewDidLoad() {
super.viewDidLoad()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func createView() -> Void {
pfView = PanframeView(frame: view.bounds)
pfView.autoresizingMask = ([.FlexibleWidth, .FlexibleHeight])
// set the appropriate navigation mode PFView
pfView.navigationMode = PanframeNavigationMode.Motion
// set an optional blackspot image
// add the view to the current stack of views
self.view!.addSubview(pfView)
self.view!.sendSubviewToBack(pfView)
pfView.setViewMode(PanframeViewMode.Flat, andAspectRatio: 16.0 / 9.0)
// Set some parameters
self.resetViewParameters()
// start rendering the view
pfView.run()
}
func resetViewParameters() -> Void {
pfView .setFieldOfView(75.0)
// register the interface orientation with the PFView
pfView .setInterfaceOrientation(self.interfaceOrientation)
switch self.interfaceOrientation {
case .Portrait, .PortraitUpsideDown:
// Wider FOV which for portrait modes
pfView .setFieldOfView(90.0)
default:
break
}
}
func deleteView() -> Void {
// Stop rendering the view
pfView .halt()
// Remove and destroy view
pfView .removeFromSuperview()
pfView = nil
}
func createAssetWithUrl(url: NSURL) -> Void {
pfAsset = PanframeAsset(url: url, observer:self)
}
func deleteAsset() -> Void {
}
@IBAction func playButtonClick(sender: UIButton) {
createView()
createAssetWithUrl(NSURL.fileURLWithPath(NSBundle.mainBundle().pathForResource("PANO1", ofType: "m4v")!))
pfAsset.play()
}
@IBAction func stopButtonClick(sender: UIButton) {
pfAsset.stop()
}
func panframeAsset(asset: PanframeAsset, onPlayerTime time: CMTime) {
}
func panframeAsset(asset: PanframeAsset, onStatusMessage message: PanframeAssetMessage) {
}
}
PAN01.m4v 是由 Panframe 的示例应用程序(在 Objective-C 中)提供的示例视频,并且存在于我的资源中。
当我构建和运行这个应用程序时,我没有错误,我从视频中听到声音,但没有图片。任何想法为什么我没有视频...?
在 Marius 的评论之后进行编辑:我正在真实设备(iPhone 5、iOS 9.2.1)上对此进行测试。