2016-11-07 4 views
3

私はcollectionViewを持っていて、それぞれcellAVPlayerで遊ぶように設定されています。したがって、すべてのセルが同時にビデオを再生しています。 iOSだけで同時に16のビデオを再生することができます。たとえば、以下のサンプルアプリケーションを見てください。 50 cellsのうち、16人だけがビデオの再生を開始しました。この数字は常に同じです。これは、iOS 10を実行しているiPhone 6で発生します。ただし、Xcodeシミュレータでは、すべての50本のビデオが再生されます。この問題は、実際のデバイスでのみ発生します。同時に作成できるAVPlayerの数はいくつですか?

enter image description here

私はこれをプリントアウトするときも、私は、これらの2つのエラーを取得:

print("Video player Status Failed: player item error = (self.player.currentItem.error)") 
print("Video player Status Failed: player error = \(self.player.error)") 

2016年11月7日15:53:46.548288 SampleApp [1810:515089]ビデオプレーヤーのステータスが失敗しました: NSLocalizedFailureReason =このメディアに必要なデコーダがビジー状態です。=>エラーメッセージ=エラードメイン= AVFoundationErrorDomainコード= -11839「デコードできません」UserInfo = {NSUnderlyingError = 0x1704414d0 {エラードメイン= NSOSStatusErrorDomainコード= -12913 "(null) NSLocalizedRecoverySuggestion =メディアをデコードしてもう一度やり直してください。NSLocalizedDescription =デコードできません。 2016年11月7日15:53:46.548358 SampleApp [1810:515089]ビデオプレーヤーの状態に失敗しました:プレイヤーエラー=(ヌル)

は、あなたが持っている可能性がどのように多くの AVPlayerさんに制限はありますか私は何かをしています違う?

ありがとうございます!

答えて

2

実際には、同時に保持できるAVPlayerインスタンスの量には上限がありますが、この制限はコードが実行されているプラ​​ットフォームによって異なります。 私自身、iOS 8を実行しているiPhone 5では、同時に4つのAVPlayerインスタンスが制限されていることがわかりました。たとえばHereの場合、ユーザーはtvOSの制限値7を報告し、同じ制限値は2012 in stack overflowに報告されました。

いずれの場合でも、正式に文書化されていないこの制限は、プラットフォームとOSのバージョン間で前後に変更できることを意味します。したがって、AVPlayerの並行インスタンスを可能な限り低く保つ以外には、

+0

おそらくハードウェアの機能ですか? –

+0

@i_am_jorfまあ、彼らがそれを文書化していないという事実は、それが何かの機能である可能性を非常に高くします。 – pevasquez

+0

@pevasquez私のアプリでは、同時に約10-20の動画を再生します。このための回避策はありますか?どのライブラリですか?またはAVPlayersを再利用する方法はありますか?ありがとう! – JEL

関連する問題