問題タブ [avplayeritem]

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.

0 投票する
0 に答える
866 参照

avplayer - iOS 9: AVPlayer.masterClock との同期の問題

私のアプリでは、AVPlayerItemサウンドのAVPlayer再生とビデオの再生に使用しています。両方のプレーヤーを同期するには、次のコードを使用します。

iOS 7 および iOS 8 では、魅力的に機能しました。しかし、iOS 9 では問題が発生し続けます。再生が開始されますが、その後常に数秒前にジャンプするため、再生は流暢ではありません。

すべてのヒントに感謝します。

ありがとうございました。

アップデート

masterClockが問題の原因ではないようです。を設定せずに試してみましたがmasterClock、それでも同じ問題がありました。

別のアプリではAVAudioPlayer、オーディオの再生に を使用AVPlayerAVPlayerItem、ビデオの再生に を使用すると、すべて正常に動作します。

このアプリでは、オーディオAVPlayerAVPlayerItemビデオの再生の両方に対応しており、これが問題を引き起こしているようです。古いバージョンの iOS では問題なく動作しましたが、iOS 9 では動作しませんでした。

アップデート

iOS 10でテストしたところ、バグはなくなりました。この問題は iOS 9 でのみ発生します。

0 投票する
1 に答える
5192 参照

ios - SwiftでAVPlayerItemを新しいAVPlayerに関連付けますか?

のインスタンスをSwiftAVPlayerItemの newに再関連付けするにはどうすればよいですか? AVPlayerイニシャライザで使用する場合。toへのすべての参照を設定した後でも、 anAVPlayerItemを別のに再割り当てしようとするたびに(したがって、ガベージ コレクションを取得する必要があります)、 anを複数のオブジェクトに割り当てることはできないと不平を言います。私はそれを回避するいくつかの方法を理解していますが、なぜこの方法がうまくいかないのか知りたいです。AVPlayerAVPlayernilAVPlayerItemAVPlayer

この宣言中に何が起こるかはわかりませんが、関連付けられたプレーヤーがあることを somePlayerItem が認識できるように、どこかで何かが設定されます。これには、これに注意するオブザーバーがどこかに設定されているか、プロパティが設定されていますか?

元の参照が破棄された後、これAVPlayerItemを別のものに再割り当てする方法を知っている人はいますか? URL を使用して新しいオブジェクトを作成できることはわかっていますが、同じオブジェクトを保持できるかどうかを知りたいです。AVPlayerAVPlayerAVPlayerItem

0 投票する
0 に答える
914 参照

ios - AVPlayer のボタン クリックで次のビデオを再生

私は2つのビデオを持っています。AVPlayer を使用して動画を再生しています。アプリの起動時に最初の動画が読み込まれ、次の動画をクリックすると、その動画の再生が最初から開始されます。どうすればそれができますか?

次のビデオに切り替えようとして、次のコードを使用しています

0 投票する
1 に答える
847 参照

ios - AVPlayer がバッファリングを停止する

シームレスな再生のために、ユーザーがビデオを再生できるようになる前に、ビデオ URL を AVPlayer に完全にロードしようとしています。

に 2 つのオブザーバーを追加しAVPlayerItemます。

値がビデオの長さと等しくなるまで待ちます-完全にロードされます。

しかし、これはめったに起こりません。プレーヤーは通常、5 秒間のビデオの約 3 でバッファリングを停止します。次に、「playbackBufferFull」が呼び出されます

バッファサイズを増やすにはどうすればよいですか? または、一度呼び出されたビデオの残りをバッファリングする方法playbackBufferFullは? 再生中の動画の長さはわずか 5 秒です。

0 投票する
0 に答える
399 参照

ios - SKVideoNode からの再生時に SceneKit で位置オーディオを回転させる

SceneKit を使用して 360º VR エクスペリエンスを作成しています。ユーザーの周りのドームにビデオを表示します。

SpriteKit シーンは、SKVideoNode を使用してビデオ フィードを再生しています。この SpriteKit シーンは、SceneKit で球体の周りにラップされ、ドームを作成します。

再生は素晴らしいです。360° ビデオが表示され、オーディオが聞こえます。ユーザーが回転すると、サウンドが一緒に移動するように、位置オーディオを追加したいと思います。位置を移動するのではなく、ユーザーの頭で回転します (Oculus Rift のように)。

どうやってやるの?

いくつかの研究:

  • 理想的には、SpriteKit に自分の回転を伝えることができます。

  • 次善の方法は、オーディオ トラック (たとえば、5.1 オーディオの MP4 の 6 トラック) にアクセスし、各トラックを 3D シーンのノードにアタッチする方法です。

  • SpriteKit と SceneKit はどちらも位置オーディオをサポートしています。

  • SKSceneプロパティを持っていlistenerます。しかし、2D の世界にいるため、SKNode は回転について認識しません。現在の頭の回転を設定できません。

  • SceneKit にはaudioListenerノードがあり、頭の回転がわかります。しかし、それはSCNAudioPlayer私が持っていないことを期待しています-SKVideoNodeはビデオとオーディオを再生しています。SKVideoNode のオーディオ トラックについて SCNAudioPlayer に伝えることができれば!

  • SKSceneも提供していますaudioEngine- トラックはここから入手できますか?

  • SCNVideoNode がないので、SKVideoNode を使用する必要があります。

この状況で位置オーディオを行う方法はありますか?

0 投票する
1 に答える
6942 参照

ios - AVPlayer がビデオの再生に失敗することがある

AVPlayer はビデオを再生できませんでした

ビデオのグリッドがあります。AVPlayer がビデオの再生に失敗し、次のエラーでこの無効化されたアイコンが表示されることがあります。

ただし、同じビデオが後で再生されるため、ランダムな問題です。何がうまくいかないのですか?

0 投票する
1 に答える
384 参照

ios - iOS で到達可能性を使用して、m3u8 (HLS) で適切なインデックス ファイルを選択する

Apple の HTTP Live Streaming Guideによると:

iOS アプリの開発者は、ユーザーのデバイスにクエリを実行して、最初の接続が携帯電話か WiFi かを判断し、適切なマスター インデックス ファイルを選択できます。

Reachability を使用して接続を判断する方法は理解していますが、AVPlayer に m3u8 のインデックス ファイルに別のファイルをロードするように指示する方法がわかりません。

私は少し混乱しています、おそらくこれは自動的に行われますか?しかし、なぜ彼らがあなたにこれをするように勧めるのか理解できません。(最終的には、3G/Edge 接続でもビデオができるだけ速く再生されるようにしたいので、再生に適切なファイルをロードしていることを確認したいと思います)。