1

だから、私はドキュメントを読んで、これを知っています:iOS 3.2 / 4.0上の複数のMPMoviePlayerControllers(また、ドキュメントでは私はアップルのものを意味します)

残念ながら、これをデバッグするのは地獄のbcです:XcodeIPHONEのブートストラップサーバーエラー

したがって、5回程度実行するたびに、マシンを再起動する必要があります。

しかし、主な質問は、私がたくさんのコンテナ(ビューだけ)をロードしているということです。それらのコンテナ内に、私がカスタムクラスに変えたMPMoviePlayerControllerを持つ何かがあるかもしれません。とにかく、それは動作し、映画をうまく再生します。

いつでも、画面上に最大3つ表示される場合があります。(私はページングを使用し、遠くにあるものをアンロードします)。したがって、3つの映画を作成し、すべてをダウンロードしたデータに接続することができます。

彼らはプレイしますが、もちろん、一度に1つだけです。問題ない。ビューを含む1つだけがアクティブです。

ビューが「ページ」(UIScrollView)を変更するとき、手動で「外部」を非アクティブに設定しました。基本的に、MPMoviePickerControllerで「停止」を呼び出します。これで止まりますが、再開できません。コントロールは文字通り消えてしまい、再開できません。(iOSのバグ?)

そこで、代わりに一時停止と呼びました。同じこと。

再生に戻りますが、再生されません。

これが面白いものです。一時停止して、別のプレイに行きます。クラッシュ。AVPlayerItemが2を同時に再生できない何か。2本の映画などが必要なため、カスタムAV映画プレーヤーをプログラムしました。これが機能しない場合は、もう一度プログラムします。誰でも...なぜ2つのコントローラーが同じプレーヤーアイテムを使用するのか、Appleが本当に悪い場所でシングルトンを使用していると推測できます。

したがって、アップルのドキュメントには、必要な数だけロードできると明記されていますが、再生できるのは1つだけです。残念ながら、それらを適切に一時停止する方法については説明されていません。

これがバグかどうか知っている人はいますか?それとも、一時停止して停止する以外に試してみることがありますか?

そうでなければ、私はおそらくAVのものに頼るでしょう。とにかく、再起動がなければ、私は今のところ何らかの形の履歴書を試し、単なる質問ではなく答えを得ようとしています。ヒント/提案をありがとう!

見つけたらみんなに知らせます

4

1 に答える 1

0

わかりました、これはそれを解決する奇妙な方法であり、本質的に通常の方法です。私のカスタム ビューは、コントローラー全体をアンロードしてから、nil に設定します (リロードする意図があっても、nil に設定しないと、クラッシュせずにテストすることはできません)。

したがって、ビューがオフスクリーンになったら、「自分自身をアンロードしてください」というメッセージを送信します。URL の名前をキャッシュし、それをアクティブに設定すると、すべてをリロードして再割り当てします。

すべて問題ないように見えますが、残念ながら、オーバーレイを配置する以外に、画面に両方が表示されている場合はどうすればよいかわかりません。私のものが画面外にあるため、これは本当に滑らかに見えるだけです。

このインスタンスで解決しました。探している人には、AVPlayer を使用することをお勧めします。layerClass を使用して下層のレイヤーを変更し、アイテムを追加し、メモリを適切に行うことを忘れないことを理解すれば、それほど難しいことではありません。ドキュメント内のアップルのサンプルコードをコピーしてください...

アスペクト比を台無しにする準備をします...

コメントありがとうございます!

于 2012-04-13T18:40:56.917 に答える