Я использую WaveFileWriter
из NAudio для записи звука с микрофона и сохранения в файл WAV. Но некоторые из этих файлов должны содержать огромное количество данных, возможно, 12 часов записи, что может дать файл размером более 1 ГБ.
Чтобы сохранить накопительную запись, я должен открыть новую WaveFileWriter
, открыть существующую запись, скопировать данные из существующей в новую и затем добавить последующее аудио в устройство записи.
Проблема в том, что как только файл становится очень большим, это происходит очень медленно. В моем приложении запись должна часто останавливаться и возобновляться, а задержка в несколько секунд каждый раз неприемлема.
Я хотел бы просто открыть файл в режиме добавления, но при закрытии файла произойдет сбой с ошибкой:
Невозможно выполнить поиск в обратном направлении, чтобы перезаписать данные, которые ранее существовали в файле, открытом в режиме добавления.
(Это потому, что при закрытии необходимо обновить заголовок, требуя поиска по началу, что не разрешено в режиме добавления.)
Есть ли способ добавить к очень большому файлу WAV или другой способ обойти эту проблему?