İOS 13 veya tvOS 13'te AVPictureInPictureController'ı kullanmaya çalışırken hata alıyorum


10

UIView'da bir video görüntülediğim iOS ve tvOS üzerinde çalışan küçük bir uygulamam var. ”.

Dağıtım hedefi tvOS 13 olarak ayarlanmış olmasına rağmen. Xcode'da, yetenekler -> Arka plan modu -> “Ses, Airplay ve Resim İçinde Resim” özelliğini etkinleştirdi. Bu temel kod hata veriyor.

#import <AVKit/AVKit.h>
if ([AVPictureInPictureController isPictureInPictureSupported]) {
   // code 
}

Başka bir ayar eksik veya başka bir şey yapmam gerekiyor mu?

Teşekkürler

Yanıtlar:


0

Apple belgelerinde belirtildiği gibi tvOS'ta desteklenmez

SDK'leri

iOS 9.0 ve sonraki sürümleri

macOS 10.15+

Mac Catalyst 13.0+


AVFoundation'ı da içe aktarmayı denedi .. hala aynı hata.
sia

- evet .. şimdi denedim .. hala aynı hata. Ben "AVPictureInPictureController" tvOS13 (emin değil) desteklenmez düşünüyorum.
sia

Hayır, değil, güncellenmiş cevabımı kontrol et. Üzgünüz, iOS'ta hata verdiğini düşündüm
Dimitrie-Toma Furdui

bu bağlantıya göre - developer.apple.com/documentation/avkit/… - görünüyor ki uygulamak mümkün olabilir (tekrar emin değilim)
sia

Başlangıçta Video içeriğini oynatmak için AVPlayerViewController kullanıldığında, Oynatma ses kategorisini ayarladığınızdan emin olun. Geliştirilen uygulama arka plana girerse PIP modu otomatik olarak çağrılır, ancak yalnızca şartlandırılmış koşulu karşılarsa. Kullandığımız Oynatıcı Tam Ekran Modunda olmalı, Video İçinde Oynatılmalı ve PIP Cihaz tarafından desteklenmeli ve son olarak kullanıcı PIP modundan döndüğünde oyuncu arayüzümüzü geri yüklemek için temsilci yöntemi yazmalıdır. Video İçinde Oynatılmalı ve PIP cihaz tarafından desteklenmelidir. Kaynak: shorturl.at/AEXY8
redhatvicky

0

UYGULAMADA GÖZLÜĞE GÖRE KONULARIN OLASILIĞI:

AVPlayerViewController ile deneyimleyin: Başlangıçta Playback ses kategorisini ayarladığımızdan emin olun, Genellikle video içeriğini oynatmak için bir AVPlayerViewController kullandığımızda. Geliştirilen uygulama arka plana girerse PIP modu otomatik olarak çağrılır, ancak yalnızca aşağıda belirtilen koşulu karşılarsa, birincisi kullandığımız Oynatıcı Tam Ekran modunda olmalıdır, ikincisi Videonun İçinde ve üçüncüsünde oynamak PIP Cihaz tarafından desteklenmeli ve son olarak, kullanıcı Resim modunda Resim'den döndüğünde oynatıcı kullanıcı arayüzümüzü geri yüklemek için yazma delege yöntemini kullanmalıdır.

_AVPictureInPictureController ile uygulama: Aşağıdaki iş parçacığında çalışan bir örnek bulabilirsiniz. AVPictureInPictureController nasıl görüntülenir?

Sorunu ayrıntılı bir şekilde incelemek için: Bildirilmeyen hatanın uygulamadaki boşluklardan kaynaklanmadığını ve bunun Xcode'daki ortam ağından kaynaklandığını doğrulamak için kaynağı indirin ve ardından Kaynaklar klasörünü çalışma alanınızdaki başka bir klasörün içine ekleyin. Dosyaları buraya ekle ... "seçeneğini tıklayın ve şimdi xcode'un içinde doğrulayın.

XCODE YENİLENMESİ GEREKEN SORUN OLASI OLARAK Düzeltmeyi Deneyin 1 Sınıfı açıkça * .pch dosyası yerine üstbilgi ve / veya gövdeye ekleyin. O zaman bu hata ortadan kalkabilir. Ayrıca türetilmiş veri çalışmalarının silinmesi de arada bir gerçekleşir. Son zamanlarda tercihlerdeki konumu hiç değiştirmediniz mi? Bazıları türetilmiş veriler için ramdisk kullandıklarında bu hatayı alır ve sonra varsayılana geri döner. Bu en sinir bozucu durumdur - çünkü bu hatanın hemen hemen her dosyada görünmesine neden olur.

Yaklaşarak Düzeltmeyi Deneyin 2 Bazen basit bir çözüm, #import satırlarından birini pch dosyasından silmeye ve beklendiği gibi başarısız olacak şekilde yeniden derlemeye yardımcı olabilir.Sonra silinen satırı geri, yeniden derledi ve tüm yanlış hatalarla normal olarak derlendi.

XCODE ERROR CACHE'DE SORUN OLASI, AŞAĞIDAKİ ADIMLARI TAKİP EDİN Yapı klasörünü temizlemek için Build: Command-Option-Shift-K tuşlarını izleyin . Simülatörü Sıfırla: iOS Simülatörü> İçeriği ve Ayarları Sıfırla'yı seçin Xcode'u Yeniden Başlat ~ / Library / Developer / Xcode / DerivedData Bilgisayarını Yeniden Başlat'ta DerivedData klasörünüzü silin

/ Var / klasörlerini çok hedefli bir şekilde silin. rm -rf "$ (getconf DARWIN_USER_CACHE_DIR) /org.llvm.clang/ModuleCache"

Kaynak: Önbellekleri Boşaltma ve Tüm Hedefleri Temizleme Xcode 4 ve üstü Xcode "Bildirilmemiş tanımlayıcı kullanımı" hataları, derler / iyi çalışır Xcode 9.0'da bildirilmemiş tanımlayıcı kullanımı https://developer.apple.com/documentation/avkit/adopting_picture_in_picture_in_a_standard_player


0

Basit bir video oynatıcı oluşturmak için

İlk olarak, projenizin ViewController.m dosyasına aşağıdaki gibi temel bir video oynatıcı uygulamanız gerekir:

#import "ViewController.h"

#import <AVKit/AVKit.h>

@interface ViewController ()
@property(nonatomic) AVPlayerViewController *playerViewController;
@end

@implementation ViewController

- (void)viewDidLoad {
  [super viewDidLoad];
  self.view.backgroundColor = [UIColor blackColor];

  // Create a stream video player.
  AVPlayer *player = [[AVPlayer alloc] init];
  self.playerViewController = [[AVPlayerViewController alloc] init];
  self.playerViewController.player = player;

  // Attach video player to view hierarchy.
  [self addChildViewController:self.playerViewController];
  self.playerViewController.view.frame = self.view.bounds;
  [self.view addSubview:self.playerViewController.view];
  [self.playerViewController didMoveToParentViewController:self];
}

@end

Daha fazla yardım için https://help.apple.com/xcode/mac/8.0/#/dev51a648b07

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.