Die Größe der AVPlayer-Ebene in einer Ansicht wird nicht geändert, wenn sich der UIView-Frame ändert

Ich habe einUIView welches ein enthältAVPlayer um ein Video zu zeigen. Wenn ich die Ausrichtung ändere, muss ich die Größe und Position des Videos ändern.

Ich habe keine große Erfahrung mit der Größenänderung von Ebenen, daher habe ich Probleme, die Größe des Videos zu ändern.

Ich beginne mit der Erstellung derAVPlayer und füge seinen Player zu der Ebene meines videoHolderView hinzu:

<code>NSURL *videoURL = [NSURL fileURLWithPath:videoPath];
self.avPlayer = [AVPlayer playerWithURL:videoURL];

AVPlayerLayer* playerLayer = [AVPlayerLayer playerLayerWithPlayer:self.avPlayer];
playerLayer.frame = videoHolderView.bounds;
playerLayer.videoGravity = AVLayerVideoGravityResizeAspect;
playerLayer.needsDisplayOnBoundsChange = YES;

[videoHolderView.layer addSublayer:playerLayer];
videoHolderView.layer.needsDisplayOnBoundsChange = YES;
</code>

Dann ändere ich zu einem späteren Zeitpunkt die Größe und Position des videoHolderView-Frames:

<code>[videoHolderView setFrame:CGRectMake(0, 0, 768, 502)];
</code>

Zu diesem Zeitpunkt muss der avPlayer die Größe auf dieselbe Dimension ändern. Dies geschieht nicht automatisch - der avPlayer bleibt im videoHolderView klein.

Wenn jemand helfen kann, würde ich mich über jeden Rat sehr freuen.

Danke Leute.

Antworten auf die Frage(12)

Ihre Antwort auf die Frage