1

AVURLAsset を同期的にロードする方法はありますか? 私のシナリオは、別のビューを表示しながらバックグラウンドでアセットをロードし、アセットの再生準備が整ったときに AVPlayer を表示するビューに変更する必要があるシナリオです。前ではありません。

非同期をロードしてデリゲート メソッドを呼び出して「アセットの準備ができました。次のビューを表示できます」と伝えようとしましたが、その前に mem 警告が表示されると、バックグラウンドでアセットを含むビューが終了する前に解放されます。読み込み中...だから私はデリゲートコールを受けません。そのため、私はむしろ同期的にそれを行います。

何か案は?

4

1 に答える 1

1

私はあなたが何をしているのかを100%理解しているとは思いませんが、この情報が読み込まれると、[AVURLAsset commonMetadata]またはを使用してビューを表示できるようになるはずです。[AVURLAsset metadataForFormat:[[AVURLAsset availableMetadataFormats] lastObject]]これらのメソッドはAVMetadataItemsの配列を返します。これは、forループで簡単にトラバースできるはずです。これがあなたが探していたものではなかったらごめんなさい。

于 2011-08-22T04:24:57.663 に答える