我正在尝试使用 AVPlayerLayer 作为要分配给 SCNSphere 的 SCNMaterial。
基于:https://developer.apple.com/library/mac/samplecode/SceneKit_Slides_WWDC2013/Listings/Scene_Kit_Session_WWDC_2013_Sources_Slides_ASCSlideMaterialLayer_m.html https://developer.apple.com/library/mac/samplecode/SceneKit_Slides_WWDC2013/Listings/Scene_Kit_Session_WWDC_2013_Sources_Slides_ASCSlideMaterialLayer_m.html
我创建了一个播放器,创建了一个播放器图层,并尝试使用或不使用背景图层来指定为我的 SCNSphere 的材质
问题是,我在这里得到了相同的结果:SCNMaterialProperty不是渲染层 https://stackoverflow.com/questions/26153285/scnmaterialproperty-not-rendering-layer
音频播放,视频根本不渲染!
代码非常简单:
// video player
let path = NSBundle.mainBundle().pathForResource("tb", ofType: "mp4")
let url = NSURL(fileURLWithPath: path!)
let player = AVPlayer(URL: url) // AVPlayer
player.actionAtItemEnd = .None
player.play()
let frame = CGRectMake(0, 0, 300, 300)
let playerLayer = AVPlayerLayer()
playerLayer.videoGravity = AVLayerVideoGravityResizeAspectFill
playerLayer.frame = frame
playerLayer.player = player
sceneMaterial = SCNMaterial()
sceneMaterial.specular.contents = UIColor.whiteColor()
sceneMaterial.shininess = 0.5
sceneMaterial.diffuse.contents = playerLayer
sphere.materials = [sceneMaterial]
如前所述,无论我使用backgroundLayer : CALayer 并将playerLayer 添加为子层都会给出相同的结果。
任何帮助表示赞赏
@Guig @Byron,看看 SKVideoNode。我必须使用 spikeKit + SceneKit 来完成我想做的事情
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)