問題タブ [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 投票する
2 に答える
2340 参照

ios - UITableViewCell の複数の AVPlayerItem からオブザーバーを追加および削除する

複数のビデオを再生するテーブル ビューを作成しようとしていますがAVPlayerAVPlayerItemそれぞれに Observer を追加してAVPlayerItem、playbackLikelyToKeepUp プロパティを追跡できるようにする必要がありました

私が試して失敗したのは、を設定した後にオブザーバーを追加し、AVPlayerItemそれを削除することですdeinitUITableViewCell、セルの割り当てが解除されることはありませんが、デキューされるため、これは機能せず、このエラーが発生します

検索したらこれにたどり着きました

  • オブザーバーを追加または削除するべきではありませんUITableViewCellが、プレーヤーアイテムがセルサブクラスで作成されているため、そうしなければなりませんでした
  • オブザーバーを処理する最良の方法は、「UITableViewDelegate」メソッド内にあります
  • 追加willDisplayCellと削除didEndDisplayingCell

AVPlayerItemしかし、初期化に時間がかかるため、私の場合はそれでも機能しません

そのため、オブザーバーは追加されませんがwillDisplayCell、オブザーバーの削除が呼び出され、実行時エラーが発生します

誰かがこれを達成する方法を知っていれば、喜んで教えてくれますか? ありがとう

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

ios - AVPlayer は、playbackBufferEmpty を起動しませんが、どちらも再生しません

AVPlayer を使用して、インターネット経由でオーディオ ライブ ストリームを再生します。一時停止が 1 分を超えた場合は、再生を回復するのが好きです。

player.rate = 1.0再開するよう呼びかけます。ただし、ストリームが 1 分以上一時停止された場合、それ以上は再生されません。この場合、再び機能させるには、AVPlayerItem を再作成する必要があります。

では、どうすればこのケースを見つけて、再生が回復しなかったことを知ることができますか?

  • KVO on を試してみましたplayer.rate。それはそのまま1.0です。プレイヤーはプレイしていません!
  • KVO on を試してみましたcurrentItem.playbackBufferEmpty。ただし、この場合は呼び出されません。
  • currentItem.statusに切り替わりません.Failed。まったく変わりません。

この場合、AVPlayer は何もしないようです。何か案は?

この問題を示すために Playground コードを作成します。

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

ios - AVPlayer からクローズド キャプション/字幕を抽出する方法

AVPlayer によってレンダリングされたクローズド キャプションは、他の UI コンポーネントと重なることがあるため、別のビューで cc をレンダリングしたいと考えています。

closedCaptionDisplayEnabled を NO に設定することで AVPlayer の cc レンダリングをオフにすることはできますが、レンダリングしたいクローズド キャプションを抽出する方法が見つかりませんでした。

AVPlayer/AVPlayerItem から CC 文字列を抽出する方法があるかどうかは誰にもわかりませんか? AVMediaTypeClosedCaption で AVAssetTrack を識別できますが、特定の時間の文字列を抽出する方法がわかりません。

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

ios - 「playbackBufferFull」プロパティと「playbackBufferEmpty」プロパティの違いは何ですか?

の 2 つのプロパティを見てきましたAVPlayerItem

さて、Appleのドキュメントには次のように書かれています:

再生バッファフル:

このプロパティは、再生に使用されるデータ バッファーの容量に達したことを報告します。playbackLikelyToKeepUp再生バッファが容量に達しているにもかかわらず、 の予測をサポートするのに十分な統計データが存在しない可能性があり YESます。

再生バッファが空です:

これは、再生がバッファリングされたすべてのメディアを消費し、再生が停止または終了することを示します。


これらのステートメントから、私が理解していることは次のとおりです。

再生バッファフル:

すべてのデータが読み込まれて再生されます。たとえば、URL から 5 分間のビデオを再生しています。最後まですべてのコンテンツが読み込まれると、これらは true になります。

再生バッファが空です:

実際の再生は、今までにロードされたすべてのバッファを消費しました。たとえば、2.3 分までのデータがロードされ、再生もその時間まで到達し、提示するコンテンツがこれ以上ありません。(これがメリーゴーランドを始める時だと思います、指標)

私は何か誤解しましたか?はいの場合、私を修正してください..

深い知識やアドバイスは大歓迎です!

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

ios - Airplay モードで AVPlayer にサブビューを追加するには?

サブビューをAVPlayer正常に追加しました。しかし、airplay モードで再生していると、Apple TV に表示されません。誰でもこれについて私を助けることができますか?

AVPlayerAirplay モードでサブビューを追加するには?

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

ios - AVPlayerを使用してオーディオを再生するときにUIWebViewでオーディオを一時停止するにはどうすればよいですか

UIWebView使用してオーディオを再生するAVPlayerと、一緒に再生されます。

AVAudioSessionこれを制御するために使用しようとします。しかし、機能していません。

これが私のコードです

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

ios - AVPlayerItem の audioTimePitchAlgorithm パラメータの変更

0.5 よりも低いレートで再生するために audioTimePitchAlgorithm を変更しようとしていますが、あまりうまくいかないようです。私は解決策を求めてSOを精査しましたが、私が試したすべての実装では、まだ0.5以上のレートに制限されているようです...

これが実際に簡単なプロセスである場合は、前もってお詫び申し上げます。おそらく、私はこれに慣れていないため、根底にある概念のいくつかを理解できません。私はすでに AVMutableAudioMixInputParameters オブジェクトを作成して AVMutableAudioMix オブジェクトに割り当て、このミックス オブジェクトを AVPlayerItem に割り当てるインターンを試みましたが、これも同じ結果 (0.5 のレートで再生) をもたらしたので、最初の 1 つだけを含めました。より単純化されたコード試行。どんな助けでも大歓迎です:)