コード例 #1
0
        /// <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}");
        }
コード例 #2
0
        /// <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.");
        }