問題タブ [avplayerlayer]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
objective-c - AVPlayer から AVPlayerLayer を切り離す方法は?
バックグラウンドでビデオを再生しようとしています.非常に多くのチュートリアルに従いましたが、適切な結果が得られませんでした.そのためにAVPlayerを使用しています.しかし、バックグラウンドで音楽を再生したいので、AVPlayer から AVPlayerLayer をデタッチする必要があります。しかし、バックグラウンドで avPlayerLayer にアクセスするたびに、NULL が返されます。
これは私のコードです:
ios - iOS: ビデオを表示するスクリーンショットを撮る iPad
ビデオを再生しているスクリーンショットを撮ろうとしていますが、スクリーンショットは常に空白で表示されます。これは私のコードです:
AVPlayer/AVPlayerLayer を使用してビデオを再生しています。
なぜこれが起こるのか知っている人はいますか?または、スクリーンショットを撮るためにビデオで何か特別なことをする必要がある場合は?
よろしくお願いします。
uitableview - AVPlayerLayer を「再利用」することは可能ですか? セルの再利用のためにスーパービューから削除すると、パフォーマンスに影響します
カスタム uitableviewcell のプロパティとして追加した、本当に単純なプレーヤー クラスを作成しました。スクロールにはかなり満足していましたが、もっと良くなると思いました。プレーヤー クラス内から呼び出して、プレーヤーを再利用する準備を整える「クリーンアップ」メソッドがあります。
これが「cleanPlayer」のコードです
[self.avPlayerView removeFromSuperview]行を cleanPlayer メソッドから削除すると、スクロールは素晴らしいものになりますが、かなりの回数スクロールした後、セルはビデオの再生を停止し、間違ったビデオがセルに表示され始めます。コードを追加し直すと、セルが作成されるたびにわずかな「しゃっくり」が発生し、少し面倒です。何が起こっているのかについての洞察は大歓迎です。ああ、私はプロファイラーを使用しましたが、原因を特定するのに役立つものは何も見つかりませんでした. 前もって感謝します!
ios - バックグラウンドに移行中、AVPlayer Video には小さなオーディオ ギャップがあります
アプリがバックグラウンドになったときに AVPlayer がビデオを正常にストリーミングできるようにするために、以前の多くの役立つ質問に従いました。Apple の QA1668 で説明されている 2 つの方法があり、どちらも私のストリーム URL で機能します。
問題は、両方の方法で同じように、移行中にオーディオのギャップが目立つことです。リリース モードの iPhone 6 では、ギャップは 0.5 秒未満であり、ひどいとは思えないかもしれませんが、ミュージック ビデオのようなものを再生している場合、これは非常に気が散ります。
さらにテストした結果、AVPlayerLayer を削除すると(または、他の方法を使用している場合は AVMediaCharacteristicVisual トラックを無効にすると)、このギャップが実際に発生するように見えます。バックグラウンド状態ではなく。
私の推測では、AVPlayer の新しいビデオ状態へのオーディオの再同期と関係があると思いますが、実際には手がかりがありません。どんな助けでも大歓迎です!
ios - iOS: AVPlayer ライブ ストリームが、バックグラウンドから戻るときに再生スキップを防止する
だから私は、AVPlayer と AVPlayerLayer を使用してライブ ビデオとオーディオ ストリームを再生するアプリに取り組んでいます。ユーザーがアプリを離れたり、デバイスをロックしたりしたときに、オーディオをバックグラウンドで再生できるようにしたいと考えています。これまでのところ、うまく機能しています。
AppDelegate.m でのこのための私のコードは、基本的に次のとおりです。
playerView は私の AVPlayerLayer であり、streamPlayer は私の AVPlayer です。
私が抱えている問題は、アプリが再びアクティブになると、オーディオがスキップし、ストリームが安定して再び正常に再生されるまでに約 1 秒かかることです。私が達成しようとしているのは、オーディオをバックグラウンドで再生することです。その後、アプリが再びアクティブになると、オーディオに中断はなく、ビデオが再びアクティブになり、オーディオに同期します。
applicationDidBecomeActiveで、同じストリームに接続されたAVPlayerの別のインスタンスを作成しようとしましたが、オーディオはミュートされ、そのプレーヤーをplayerViewのプレーヤーとして設定しました。これにより、元のAVPlayerからのオーディオが中断されなくなりましたが、ビデオとオーディオは異なる AVPlayer からのものであるため同期していないため、これは機能しません。
この問題を解決する方法について何か提案はありますか?