- воспроизвести выбранное пользователем видео из галереи iPhone с помощью моих пользовательских элементов управления воспроизведением.
- прочитать метаданные видео (например, продолжительность).
- иметь возможность повторно открыть видео при следующем запуске приложения.
- сделать это самым быстрым способом, даже для многогигабайтные видео
- не связаны с правами доступа, поскольку iOS предлагает встроенный безопасный инструмент выбора фотографий.
- использовать компонент PhotosPicker(выбор: $selectedVideoItem, соответствие: .videos) из быстрого пользовательского интерфейса. В результате он предоставляет PhotosPickerItem, из которого я получаю AVAsset и передаю его своему компоненту видеоплеера. Две проблемы с этим подходом:
Мне нужно использовать selectedVideoItem.itemIdentifier, чтобы иметь возможность повторно открыть видео при следующем запуске приложения, но оно недоступно, пока пользователь не предоставит полный доступ к галерее фотографий. - Пользовательский интерфейс выглядит несогласованно — в случае возникновения ошибки выбранный элементVideoItem остается, поэтому при повторном открытии средства выбора он отображается предварительно выбранным, но его невозможно загрузить из-за ошибки
Код: Выделить всё
PhotosPicker
Итак, интересно, есть ли способ заставить это работать без копирования видео во временный файл. Или может есть другой вариант...
Подробнее здесь: https://stackoverflow.com/questions/798 ... n-next-app