#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. Извините, если это было не то, что вы искали.