【发布时间】:2016-02-09 21:20:37
【问题描述】:
我正在尝试使用 Panframe 框架 (Panframe website) 创建一个 360 度视频应用。该框架是在 Objective-C 中创建的,因此我还使用 GitHub 上的 PanframeSDKWrapper 来“快速化” Panframe 框架 (PanframeSDKWrapper on GitHub)。
我有一个带有以下代码的 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)上对此进行测试。
【问题讨论】:
-
你是在模拟器中运行的吗?
-
不,我正在真实设备(iPhone 5)上进行测试。我知道模拟器不显示视频。我会将此添加到主要问题中,因为它非常重要。谢谢!
-
我有同样的问题吗?你搞清楚了吗?
-
因为我没有找到解决方案,所以我尝试了一个名为 Kaboore 的不同 SDK。这个有效,所以我目前正在使用那个。
标签: ios swift 360-degrees