Bağlantı tıklandığında yeni bir görünüme yüklediğim bir AVPlayer var.AVPlayer kaldırılamıyor veya durmuyor
-(void)createAndConfigurePlayerWithURL:(NSURL *)movieURL sourceType:(MPMovieSourceType)sourceType {
self.playerItem = [AVPlayerItem playerItemWithURL:movieURL];
customControlOverlay = [[AFDetailViewController alloc] initWithNibName:@"AFMovieScrubControl" bundle:nil];
backgroundWindow = [[UIApplication sharedApplication] keyWindow];
[customControlOverlay.view setFrame:backgroundWindow.frame];
[backgroundWindow addSubview:customControlOverlay.view];
playerLayer = [AVPlayerLayer playerLayerWithPlayer:[AVPlayer playerWithPlayerItem:playerItem]];
[playerLayer.player play];
playerLayer.frame = customControlOverlay.view.frame;
[customControlOverlay.view.layer addSublayer:playerLayer];
}
Yukarıdaki kod, AVPlayer uygulamasını uygulamamıza ekler ve düzgün çalışır. Görünümü kaldırmalı ve AVplayer'ın oynamasını durduran customControlOverlay ucumda bir geçişim var.
-(IBAction)toggleQuality:(id)sender {
if (qualityToggle.selectedSegmentIndex == 0) {
NSLog(@"HD");
[playerLayer.player pause];
[self.view removeFromSuperview];
} else if (qualityToggle.selectedSegmentIndex == 1) {
NSLog(@"SD");
}
}
Görünüm düzgün şekilde kaldırılmıştır ancak müzikçalar hala arka planda oynatılmaktadır. Bir parça test edildikten sonra, toggleQuality yöntemindeki herhangi bir koda yanıt vermeyecek, ancak çekler kayıtlara girdiğinden beri oraya sahibim.
Neyi yanlış yaptığım hakkında bir fikrin var mı?
playerLayer.player = nil; superview –
'dan kaldırmadan önce Ses, bunu yapsam bile oynatmaya devam ediyor. – AFraser
Ya diğer sırada bunu yaparsanız (kaldırın ve nil olarak ayarlayın)? – Squatch