Фоновый UIView MPMoviePlayerController мерцает при рисовании поверх glkview - PullRequest
0 голосов
/ 14 мая 2019

Я пытаюсь показать видео более GLKView, но черный фон иногда мигает

Установка glkViewController.paused = YES не помогла. Я также пробовал различные комбинации добавления чего-либо поверх GLKView или добавления подпредставления к свойству backgroundView MPMoviePlayerController, которые либо мерцают, либо не отображаются вообще

Итак, это часть кода инициализации

moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:surl];
[moviePlayer setControlStyle:MPMovieControlStyleNone];
[moviePlayer setFullscreen:YES];
[moviePlayer setScalingMode:MPMovieScalingModeFill];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(moviePlayerLoadStateChanged:)
name:MPMoviePlayerLoadStateDidChangeNotification object:nil];
[glkViewController.view addSubview:[moviePlayer view]];

И это то, что называется, когда фильм закончил загрузку

auto screenRect = [[UIScreen mainScreen] bounds].size;
float movieFrameWidth = screenRect.width;
float movieFrameHeight = screenRect.height;
[[moviePlayer view] setFrame:CGRectMake(0, 0, movieFrameWidth, movieFrameHeight)];
[[moviePlayer view] setBounds:CGRectMake(0, 0, movieFrameHeight, movieFrameWidth)];
[[moviePlayer view] setCenter:CGPointMake(movieFrameWidth / 2.0, movieFrameHeight / 2.0)];
//Removing rotation didnt' help as well help as well
[[moviePlayer view] setTransform:CGAffineTransformMakeRotation(M_PI / 2)];
[moviePlayer play];
...