Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

MediaEncoder

класс в UnityEditor.Media

Описание

Кодирует изображения и аудиосэмплы в аудио- или видеофайл.

При создании экземпляра этого класса создается кодировщик, который создаст аудио-, видео- или аудио-/видеофайл с указанными дорожками.

Поочередно вызывайте методы AddFrame() и AddSamples() для каждой дорожки, чтобы кадры и сэмплы заполнили каждую дорожку одинаково.

После того, как все нужные кадры и сэмплы будут добавлены в файл, вызовите Dispose(), чтобы правильно завершить каждую дорожку и закрыть файл.

using UnityEditor.Media; using UnityEngine; using Unity.Collections; using System.IO;

public class Recorder { static public void RecordMovie() { var videoAttr = new VideoTrackAttributes { frameRate = new MediaRational(50), width = 320, height = 200, includeAlpha = false };

var audioAttr = new AudioTrackAttributes { sampleRate = new MediaRational(48000), channelCount = 2, language = "fr" };

int sampleFramesPerVideoFrame = audioAttr.channelCount * audioAttr.sampleRate.numerator / videoAttr.frameRate.numerator;

var encodedFilePath = Path.Combine(Path.GetTempPath(), "my_movie.mp4");

Texture2D tex = new Texture2D((int)videoAttr.width, (int)videoAttr.height, TextureFormat.RGBA32, false);

using (var encoder = new MediaEncoder(encodedFilePath, videoAttr, audioAttr)) using (var audioBuffer = new NativeArray(sampleFramesPerVideoFrame, Allocator.Temp)) { for (int i = 0; i < 100; ++i) { // Fill 'tex' with the video content to be encoded into the file for this frame. // ... encoder.AddFrame(tex);

// Fill 'audioBuffer' with the audio content to be encoded into the file for this frame. // ... encoder.AddSamples(audioBuffer); } } } }

Конструкторы

MediaEncoder Создаёт новый кодировщик с различными аранжировками дорожек.

Публичные Методы

AddFrame Добавляет кадр к видеодорожке файла.
AddSamples Добавляет образцы кадров к указанной звуковой дорожке.
Удаление Завершает запись всех дорожек и закрывает записываемый файл.
Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
API скрипты 2021.3