SCNSphere に割り当てられる SCNMaterial として AVPlayerLayer を使用しようとしています。
私はプレーヤーを作成し、プレーヤーレイヤーを作成し、backgroundLayer を使用して、または使用せずに SCNSphere のマテリアルとして割り当てることを試みました
問題は、ここで報告された同じ結果が得られることです: SCNMaterialProperty not render 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 をサブレイヤーとして追加しても、同じ結果が得られます。
どんな助けでも大歓迎です