問題タブ [avqueueplayer]
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.
ios - AVQueuePlayer を使用したプレーヤー アイテムのギャップレスおよび非フリーズ再生
各アイテムがキューで終了すると、アプリが 2 ~ 3 秒間フリーズするなど、avqueueplayer に問題があります。queueplayer を使用して、レコードをギャップなしで次々と再生しています。プレーヤー アイテム間のギャップをなくすには、事前にプレーヤー アイテムのアセットを読み込む必要があります。現在再生中のプレイヤー アイテムと次のプレイヤー アイテムのアセットをロードして、1 番目のレコードの最後にギャップが生じないようにします。1 番目のレコードが終了したら、2 番目のプレーヤー アイテムを queueplayer に追加して再生し、3 番目のプレーヤー アイテムのアセットも読み込みます。
このように、私の playerqueue には常に 1 つのプレーヤー アイテムが含まれますが、アセットの読み込みは現在再生中のアイテムと次の再生中のアイテムに対して行われます。これは、新しいレコードが追加されるにつれて移動し続けます。
新しい iOS デバイスでは 0.5 秒のフリーズが観察され、iPod 4 などの古い iPod デバイスでは約 3 ~ 4 秒のフリーズが見られることがわかりました。
ギャップレスでありながらフリーズしない UI エクスペリエンスを実現する方法を教えてください。
ありがとう
ios - iOS: AVQueuePlayer/AVPlayerItem 'AVPlayerItem は、プレーヤーのキュー内で一度に 1 つの位置しか占有できません。
このエラーが発生し続けます:
「AVPlayerItem は、プレーヤーのキューで一度に 1 つの位置しか占有できません。」
プレイヤーのアイテムを NSLog しましたが、どれも同じではないようです。さらに、念のためにこれを追加しました:
それが機能するかどうか確信が持てなかったとき (異なるメモリ位置に 2 つの同一のアイテムを持つことができる)、プレーヤーにアイテムまたはそれと同じものが含まれているかどうかをテストするためのカテゴリ メソッドを作成しました。それでも、まだエラーが発生しています。
MPMoviePlayerController でこのエラーが発生したという投稿をいくつか見てきましたが、私はそのカスタム クラスを使用しておらず、すぐに使用できる AVQueuePlayer を使用しています。
これを修正する方法についてのアイデアはありますか?
ios - AVQueuePlayer を使用しているときにビデオ間のトランジションを追加するにはどうすればよいですか?
多数のビデオを次々と再生するビデオ アプリケーションに取り組んでいます。ビデオは の配列に格納されAVPlayerItem
ます。AVQueuePlayer
それらで初期化さAVPlayerItems
れ、その配列からビデオを自動的に再生します。
問題は、次のビデオを再生するように変更するときに、ほんの一瞬スタックするか、あるビデオから別のビデオに移行するときにぎくしゃくすることです。ビデオが変更されている間、フェードインやフェードアウトなどのアニメーションを使用して、このトランジションを改善したいと考えています。
私のコードAVQueuePlayer
:
トランジション時に新しいレイヤーを作成し、その不透明度を下げて新しいレイヤーの不透明度を上げて古いレイヤーをアニメーション化しようとしましたが(目的のフェードインフェードアウト効果を作成するため)、期待どおりに機能しません。
カスタム遷移のコード:
のビデオにトランジションを適用するにはどうすればよいAVQueuePlayer
ですか?
ios - iOS: AVQueuePlayer が再生を停止したことを示していない
URLをAVQueuePlayer
読み込んでオーディオ ファイルを再生する がありますが、ほとんどの場合うまく機能します。ただし、プレーヤーがファイルの再生を終了した後 (別のファイルがキューに入っている)、単に再生が停止するという問題に遭遇しました。rate
通常、アプリはプレーヤーの、status
、およびを使用できますitems
。この場合、デバッガーを試してみましたが、すべて正常に見えます。
プレーヤー自体を除いて、すべてが再生されているように見えます。プレーヤーに再生を強制した後、プレーヤーは次のトラックにスキップし、AVPlayerItem
ロードされていないことを示します (オーディオ URL が有効であることを確認できます)。
プログラムでこれをキャッチする方法を知っている人はいますか?