MovieWriter
Интерфейс записи отрисованных кадров и звука проекта.
MovieWriter обслуживает режим Movie Maker: фиксированный шаг симуляции, запись изображения проекта и звука. Это не захват рабочего стола и не обычный игровой видеорекордер. Запись выбирается до запуска проекта через настройки редактора или --write-movie.
Проверенная сборка редактора пишет OGV (Theora/Vorbis), AVI (MJPEG/PCM) и последовательность PNG с отдельным PCM WAV. Длительность определяется числом кадров и FPS. Нужен рабочий графический рендерер; --headless с dummy-рендерером не подходит. Завершайте процесс штатно, чтобы контейнер и индексы были закрыты. Поддержка форматов зависит от модулей конкретной сборки.
Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.
Конструкторы1
MovieWriterКонструктор
public MovieWriter();Методы7
AddWritervoid
public static void AddWriter(MovieWriter writer);Добавляет писатель, который может использоваться движком. Поддерживаемые расширения файлов можно задать, переопределив MovieWriter._HandlesFile.
Примечание: MovieWriter.AddWriter должен быть вызван достаточно рано при инициализации движка, чтобы работать, так как запись фильма разработана для запуска одновременно с остальной частью движка.
| Имя | Тип | По умолчанию |
|---|---|---|
writer | MovieWriter | — |
_GetAudioMixRateuint
public virtual uint _GetAudioMixRate();Вызывается, когда движок запрашивает частоту дискретизации звука, используемую для записи звука. Возвращаемое значение должно быть указано в Гц. По умолчанию 48000 Гц, если MovieWriter._GetAudioMixRate не переопределен.
#######get_audio_spicer_mode
uint_GetAudioSpeakerModeAudioServer.SpeakerMode
public virtual AudioServer.SpeakerMode _GetAudioSpeakerMode();Вызывается, когда движок запрашивает режим аудиодинамика, используемый для записи звука. Это может повлиять на количество выходных каналов в результирующем аудиофайле/потоке. По умолчанию AudioServer.SpeakerMode.ModeStereo, если MovieWriter._GetAudioSpeakerMode не переопределен.
########получение_поддержка_
AudioServer.SpeakerMode_GetSupportedExtensionsstring[]
public virtual string[] _GetSupportedExtensions();Возвращает список поддерживаемых расширений файлов для фильмов, созданных с помощью MovieWriter.
string[]_HandlesFilebool
public virtual bool _HandlesFile(string path);Вызывается, когда движок определяет, может ли этот MovieWriter обработать файл по адресу path. Должен вернуть true, если этот MovieWriter может обработать указанный путь к файлу, в противном случае false. Обычно MovieWriter._HandlesFile переопределяется следующим образом, чтобы позволить пользователю записывать файл по любому пути с указанным расширением файла:
| Имя | Тип | По умолчанию |
|---|---|---|
path | string | — |
bool_WriteBeginError
public virtual Error _WriteBegin(Vector2I movieSize, uint fps, string basePath);Вызывается один раз перед записью. movieSize — размер выходного кадра в пикселях, fps — частота кадров, basePath — выбранный путь. Верните Error.Ok после успешного открытия ресурсов. Проверяйте допустимость размеров, доступность каталога и ограничения своего формата.
| Имя | Тип | По умолчанию |
|---|---|---|
movieSize | Vector2I | — |
fps | uint | — |
basePath | string | — |
Error_WriteEndvoid
public virtual void _WriteEnd();Вызывается при штатном завершении записи. Реализация должна закрыть файлы и дописать контейнер, индексы и размеры. Принудительное уничтожение процесса не гарантирует этот вызов; используйте обычное закрытие или EntityTree.Quit().