2015-12-11 16 views
11

AirPlay aracılığıyla Apple TV'ye bağlı bir iOS cihazından ses çalarken (iOS9.2 kullanarak), sesin ilk ikincisi veya sesi kesilir. Bu istenmeyen davranış uygulamaya özgü değil, sistem genelinde (örn. Apple'ın resmi uygulamalarında da bu hata var).Airplay kullanarak ses yürütürken kesme nasıl azaltılır?

tam audio file çalınabilir bir çözüm var mı https://forums.developer.apple.com/thread/28086 görüyor musunuz? Örneğin dosyayı oynatmadan önce blank sounds ekleyerek? Ya da API'un nasıl değiştiğini değiştirme? Yoksa Apple'un resmi düzeltmesini beklemeli miyim?

+0

Nasıl olsa düzeltme beklemeliyiz. Ama bu kesmeyi düşünün. Sesiniz ilk iki saniyede çalmazsa, orijinal sesinize iki saniyeliğine boş bir ses ekleyin, böylece uygulama ve tv arasındaki senkronizasyon hilcde aldatılabilir. Bunun için garaj bandını kullanın. Veya uygulamanızda GCD gibi iş parçacığı kullanın. Eşzamansız işlemler için dispatch_async. –

+0

Sadece iOS 9.3 beta 3'ün (13E5200d) en son sürümünü (20160217 itibarıyla) kullanarak bir test gerçekleştirdim. Kesinti sadece ilk kez görünür ve sonraki ses çalma işlemini değil. Bu, her ses çalma işlemini gerçekleştiren iOS 9.2'ye tezattır. –

cevap

0
  1. Bu sorun, herhangi bir güncel iOS sürümünde görünmüyor, dolayısıyla ilk önerim yükseltmek.
  2. iOS 9.2'yi kullanmanız gerekiyorsa, 2 saniyeliğine boş bir ses dosyası çalmanızı öneririm, ardından tam ses dosyanızı başlatın.

örnek kod:

audioPlayer.actionAtItemEnd = AVPlayerActionAtItemEndNone; 

[[NSNotificationCenter defaultCenter] addObserver:self 
               selector:@selector(playEnded:) 
                name:AVPlayerItemDidPlayToEndTimeNotification 
               object:[audioPlayer currentItem]]; 

- (void)playEnded:(NSNotification *)notification 
{ 
    // Start the full audio file here 
} 
İlgili konular