我的应用是一个播放h.264视频的AR应用。我们通过AVPlayer创建了SKVideoNode,并将SKVideoNode设置为SKScene,然后创建SCNNode以涉及此SKScene。
-示例代码
AVPlayer *avPlayer = [self getMoviePlayer:path];
SKVideoNode *videoNode = [[SKVideoNode alloc]initWithAVPlayer: avPlayer];
CGSize videoSize = CGSizeMake(100, 50);
videoNode.size = videoSize;
videoNode.position = CGPointMake(50, 50);
videoNode.yScale = -1.0;
SKScene *skScene = [[SKScene alloc] initWithSize:videoSize];
skScene.scaleMode = SKSceneScaleModeAspectFit;
[skScene addChild:videoNode];
SCNNode *planeNode = [[SCNNode alloc] init];
planeNode.geometry = [[SCNPlane alloc] init];
SCNMaterial *material;
material = [[SCNMaterial alloc] init];
material.diffuse.contents = skScene;
planeNode.geometry.firstMaterial = material;========================我们使用这个SCNNode来播放视频。
它在iOS12.4之前运行良好,但当我在iOS13-beta设备上测试它时,当听到声音时,它显示黑屏。
发布于 2019-11-18 07:48:35
我也遇到过类似的问题。我还认为这可能是一个iOS13错误。但是我不能在隔离特定SKVideNode代码的测试项目中重现这个问题。
事实证明,这个问题的根本原因在于我的info.plist文件,我将PrefersOpenGL设置为YES。将其更改为NO (或将其删除)解决了无法在我的SKVideoNode iOS 13中显示视频的问题。iOS 12.4和11.4看起来也能正常工作。
发布于 2019-09-13 20:18:08
我也有同样的问题。我用replace解决了它:
[myViewController.layer addSublayer:playerViewController.view.layer];
出自:
[myViewController addSubview:playerViewController.view];
如果能帮到你的话。
https://stackoverflow.com/questions/57693950
复制相似问题