【问题标题】:iOS13 Beta-8 SKVideoNode+AVPlayer show black screeniOS 13 Beta-8 SKVideo Node+AVPlayer 显示黑屏
【发布时间】:2019-08-28 13:45:51
【问题描述】:

我的应用是播放 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 设备上测试它时,它会在听到声音时显示黑屏。

【问题讨论】:

    标签: avplayer augmented-reality beta ios13 skvideonode


    【解决方案1】:

    我有一个非常相似的问题。我还认为这可能是 iOS13 的错误。但我无法在隔离特定 SKVideNode 代码的测试项目中重现该问题。

    原来我遇到这个问题的根本原因是在我的 info.plist 文件中,我将 PrefersOpenGL 设置为 YES。将其更改为 NO(或删除它)解决了我的问题,即它没有在我的 SKVideoNode iOS 13 中显示视频。看起来该更改也适用于 iOS 12.4 和 11.4。

    【讨论】:

      【解决方案2】:

      我遇到了同样的问题。我用替换解决了它:

      [myViewController.layer addSublayer:playerViewController.view.layer];

      作者:

      [myViewController addSubview:playerViewController.view];

      如果它可以帮助你。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-03-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-12-20
        相关资源
        最近更新 更多