【发布时间】:2023-03-30 22:43:01
【问题描述】:
我正在尝试使用 AVPlayerLayer 作为要分配给 SCNSphere 的 SCNMaterial。
我创建了一个播放器,创建了一个播放器层,并尝试使用和不使用 backgroundLayer 来分配为我的 SCNSphere 的材质
问题是,我在这里得到了相同的结果: 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 添加为子层都会得到相同的结果。
感谢任何帮助
【问题讨论】:
-
你能解决这个问题吗?
-
也有这个问题
标签: avfoundation calayer avplayer scenekit avplayerlayer