Звук вне синхронизации с видео в визуализированной avmutablecomposion

StackOverflow https://stackoverflow.com/questions/4459528

Вопрос

у меня есть AVMutableComposition со следующими сегментами трека:

video:
    empty: Y, {{0/1 = 0.000}, {48/100 = 0.480}}
    empty: N, {{48/100 = 0.480}, {600/600 = 1.000}}
    empty: Y, {{888/600 = 1.480}, {900/600 = 1.500}}
    empty: N, {{894/300 = 2.980}, {1040/600 = 1.733}}
audio:
    empty: Y, {{0/1 = 0.000}, {48/100 = 0.480}}
    empty: N, {{48/100 = 0.480}, {45056/44100 = 1.022}}
    empty: Y, {{66224/44100 = 1.502}, {65194/44100 = 1.478}}
    empty: N, {{894/300 = 2.980}, {77824/44100 = 1.765}}

Время выражается как CMTimeRange, первый CMTime это время начала, второй - продолжительность. Другими словами, есть две куски аудио+видео с пустым пространством для прокладки до и между ними.

Проблема в том, что когда я экспортирую эту композицию и воспроизводит экспортируемое видео, второй аудио сегмент играет слишком рано, как будто второй пустой аудио -сегмент прокладок игнорировался во время экспорта. Я получаю первый сегмент видео с правильным аудио, затем сразу же второй аудио сегмент, а затем второй сегмент видео без аудио.

Что может быть не так?

Это было полезно?

Решение

Проблема была в экспорте. Я использовал режим прохождения экспорта, который просто копирует сегменты треков в полученный файл. Я полагаю, что марки времени просто скопируются, что вызывает беспорядок на временной шкале экспортируемого фильма. Установка режима экспорта на что-то другое, кроме сквозного, решает проблему.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top