Большинство мультимедийных файлов / форматов и, в частности, AVI, не допускают и не допускают добавление.Когда вы записываете, вы заполняете файл мультимедиа И затем завершаете его по завершении.Как правило, у вас нет возможности «закрыть» и возобновить запись.
Симптом перезаписи, который вы видите, является побочным эффектом реализации фильтра записи.Нет режима добавления или перезаписи, на который вы легко можете переключиться.
В основном вы можете выбрать следующие варианты (в порядке разработки «все меньше»):
Каждый раз записывайте новый медиа-файл, затем запускайте внешний инструмент (например, FFmpeg), который способен объединять медиа-файлы и создавать новый непрерывный файл из сегментов.
Реализация фильтра DirectShow, вставленного вконвейер (особенно в двух случаях, для видео и для аудио), который способен реализовать поведение паузы / возобновления.После приостановки фильтр отбрасывает новые данные мультимедиа, а после возобновления он начинает снова передавать их, соответственно изменяя метки времени для имитации непрерывного потока.График захвата будет в рабочем состоянии через все сегменты и паузы.
Реализация пользовательского фильтра мультиплексора и / или записи, который способен считывать существующий файл и добавлять новые носители, чтобы файлсам по себе снова завершается после завершения со старыми и новыми сегментами, непрерывными.
Технически возможно реализовать пункт # 3 выше, но я не думаю, что такая реализация вообще существует: обходные путивсегда легче сделать.# 2 является своего рода предполагаемым способом решения упомянутой задачи, но, поскольку вы занимаетесь разработкой C # с DirectShow.NET, я ожидаю, что с этой точки зрения будет немного трудно решить проблему с этой точки зрения.№ 1 сделать относительно легко, а связанные с этим затраты являются внешним инструментом.