AVURLAsset loadValuesAsynchronouslyForKeys, синхронная версия?

#asynchronous #ios4 #avplayer #didreceivememorywarning #avurlasset

#асинхронный #ios4 #avplayer #получено ли предупреждение о запоминании #avurlasset

Вопрос:

есть ли способ загрузить AVURLAsset синхронным образом? В моем сценарии мне нужно загрузить ресурсы в фоновом режиме, показывая другой вид, и перейти на вид, показывающий AVPlayer, когда ресурсы будут готовы к воспроизведению. Не раньше.

Я пробовал загружать асинхронно и вызывать метод делегирования, чтобы сообщить «ресурсы готовы, вы можете показать следующее представление», но если я получу предупреждение mem перед этим, представления, содержащие ресурсы в фоновом режиме, будут освобождены до их завершения loading…so я никогда не получаю вызов делегата. Вот почему я предпочитаю делать это синхронно.

Есть идеи?

Ответ №1:

Я не уверен на 100%, что понимаю, к чему вы клоните, но я считаю, что вы должны иметь возможность просто использовать [AVURLAsset commonMetadata] или [AVURLAsset metadataForFormat:[[AVURLAsset availableMetadataFormats] lastObject]] , а затем отображать свое представление после загрузки этой информации. Эти методы возвращают массив AVMetadataItem s, который вы должны довольно легко иметь возможность просматривать с помощью цикла for. Извините, если это было не то, что вы искали.