SKVideoNode не соблюдает соотношение сторон

Я отображаю SKScene с SKVideoNode на одну из сторон SCNBox. Я изо всех сил пытаюсь получить правильное соотношение сторон видео. Вот код:

    NSURL * url = [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/%@", [[NSBundle mainBundle] resourcePath], @"preview.mp4"]];
    AVAsset * asset = [AVAsset assetWithURL:url];
    AVAssetTrack * track = [[asset tracksWithMediaType:AVMediaTypeVideo] firstObject];
    CGSize size = track.naturalSize;

    NSLog(@"size w is %f Size h is %f", size.width, size.height);

    float max = MAX(size.width, size.height);
    size = CGSizeMake(max, max);

    SKScene * videoScene = [SKScene sceneWithSize:size];
    videoScene.scaleMode = SKSceneScaleModeAspectFit;

    videoPlayer = [AVPlayer playerWithURL:url];

    videoNode = [SKVideoNode videoNodeWithAVPlayer:videoPlayer];
    videoNode.position = CGPointMake(size.width/2, size.height/2);
    videoNode.size = size;
    videoNode.yScale = -1;
    [videoNode play];
    [videoScene addChild:videoNode];

    for (int n = 0; n < 6; n++){

        SCNMaterial * material = [SCNMaterial material];
        material.diffuse.contents = (n == 4) ? videoScene : bodyImage;
        [materials addObject:material];

    }

Он игнорирует любые настройки соотношения сторон, такие как подгонка и заполнение. Это только раздавливает это, чтобы соответствовать ограничивающей рамке. Установка ограничивающего прямоугольника больше не помогает. Даже при фиксированном размере относительно видео соотношение сторон игнорируется.

0 ответов

Другие вопросы по тегам