0

Я хочу понять, как приложение для редактирования видео, такое как iMovie на iOS, меняет AVMutableComposition, назначенное AVPlayerItem на лету? Например, пользователь обрезает видео на временной шкале, добавляет/изменяет текстовый слой, добавляет переход и т. Д. Один из способов - воссоздать новый объект AVMutableComposition, создать новый элемент playerItem с этим активом и заменить currentItem AVPlayer. Я не уверен, что это лучший подход, и не думайте, что приложение iMovie использует этот подход, потому что при каждом обновлении отображается уровень игрока, видимый пользователю. Любые идеи?Редактор AVPlayerItem

ответ

0

Я думаю, что он создает другой объект AVMutableComposition или обновляет тот же AVMutabaleComposition, но каждый раз нужно создавать новый AVPlayerItem с обновленной AVMutableComposition и заменять currentItem AVPlayer. Что может быть лучшим способом? Я не думаю, что есть лучший способ сделать это.

+0

Это то, что я делаю, но все еще интересно, что делает iMovie, поскольку его пользовательский интерфейс является просто бесшовным. Например, вы касаетесь заголовка на слое плеера, и текстовое поле граничит с ним. Отредактируйте заголовок, и все останется на том же месте. То, как я это делаю, и вы предлагаете, появляется незначительный пользовательский интерфейс, когда изменяется элемент playerItem, и вы ищете текущее время, где вы были до редактирования. Интересно, что он добавляет UITextField непосредственно на уровне проигрывателя или использует CATextLayer вместо заголовка? Есть идеи ? –

Смежные вопросы