/// <summary> /// 記録開始 /// </summary> public static void StartRecording(CaptureRecorderSetting setting) { if (!Application.isPlaying) { return; } RecorderOptions.VerboseMode = true; var outputFile = setting.FilePath; var movieRecorderSettings = ScriptableObject.CreateInstance <MovieRecorderSettings>().Apply(self => { self.ImageInputSettings = new GameViewInputSettings { OutputWidth = setting.Width, OutputHeight = setting.Height }; self.AudioInputSettings.PreserveAudio = true; self.OutputFile = outputFile; self.OutputFormat = MovieRecorderSettings.VideoRecorderOutputFormat.MP4; self.Enabled = true; }); var recorderControllerSettings = ScriptableObject.CreateInstance <RecorderControllerSettings>().Apply(self => { self.FrameRate = 30.0f; self.AddRecorderSettings(movieRecorderSettings); }); Instance._dic[outputFile] = new RecorderController(recorderControllerSettings); Instance._dic[outputFile].PrepareRecording(); var success = Instance._dic[outputFile].StartRecording(); Debug.Log($"start recording. success={success}"); }
/// <summary> /// 記録終了 /// </summary> public static void StopRecording(CaptureRecorderSetting setting) { var outputFile = setting.FilePath; if (!Instance._dic.ContainsKey(outputFile)) { return; } Instance._dic[outputFile].StopRecording(); Debug.Log("stop recording."); }