private void CreateGUI() { try { if (!AVProMovieCapturePlugin.Init()) { Debug.LogError("[AVProMovieCapture] Failed to initialise"); return; } } catch (System.DllNotFoundException e) { _isFailedInit = true; Debug.LogError("[AVProMovieCapture] Unity couldn't find the plugin DLL, please move the 'Plugins' folder to the root of your project."); throw e; } // Video codec enumeration int numVideoCodecs = Mathf.Max(0, AVProMovieCapturePlugin.GetNumAVIVideoCodecs()); _videoCodecNames = new string[numVideoCodecs + 2]; _videoCodecNames[0] = "Uncompressed"; _videoCodecNames[1] = null; _videoCodecConfigurable = new bool[numVideoCodecs + 2]; _videoCodecConfigurable[0] = false; _videoCodecConfigurable[1] = false; for (int i = 0; i < numVideoCodecs; i++) { _videoCodecNames[i + 2] = i.ToString("D2") + ") " + AVProMovieCapturePlugin.GetAVIVideoCodecName(i).Replace("/", "_"); _videoCodecConfigurable[i + 2] = AVProMovieCapturePlugin.IsConfigureVideoCodecSupported(i); } // Audio device enumeration int numAudioDevices = Mathf.Max(0, AVProMovieCapturePlugin.GetNumAVIAudioInputDevices()); _audioDeviceNames = new string[numAudioDevices + 2]; _audioDeviceNames[0] = "Unity"; _audioDeviceNames[1] = null; for (int i = 0; i < numAudioDevices; i++) { _audioDeviceNames[i + 2] = i.ToString("D2") + ") " + AVProMovieCapturePlugin.GetAVIAudioInputDeviceName(i).Replace("/", "_"); } // Audio codec enumeration int numAudioCodecs = Mathf.Max(0, AVProMovieCapturePlugin.GetNumAVIAudioCodecs()); _audioCodecNames = new string[numAudioCodecs + 2]; _audioCodecNames[0] = "Uncompressed"; _audioCodecNames[1] = null; _audioCodecConfigurable = new bool[numAudioCodecs + 2]; _audioCodecConfigurable[0] = false; _audioCodecConfigurable[1] = false; for (int i = 0; i < numAudioCodecs; i++) { _audioCodecNames[i + 2] = i.ToString("D2") + ") " + AVProMovieCapturePlugin.GetAVIAudioCodecName(i).Replace("/", "_"); _audioCodecConfigurable[i + 2] = AVProMovieCapturePlugin.IsConfigureAudioCodecSupported(i); } _isInit = true; }
private void CreateGUI() { _downScales = new string[6]; _downScales[0] = "Original"; _downScales[1] = "Half"; _downScales[2] = "Quarter"; _downScales[3] = "Eighth"; _downScales[4] = "Sixteenth"; _downScales[5] = "Specific"; switch (_movieCapture._downScale) { default: case AVProMovieCaptureBase.DownScale.Original: _downScaleIndex = 0; break; case AVProMovieCaptureBase.DownScale.Half: _downScaleIndex = 1; break; case AVProMovieCaptureBase.DownScale.Quarter: _downScaleIndex = 2; break; case AVProMovieCaptureBase.DownScale.Eighth: _downScaleIndex = 3; break; case AVProMovieCaptureBase.DownScale.Sixteenth: _downScaleIndex = 4; break; case AVProMovieCaptureBase.DownScale.Specific: _downScaleIndex = 5; break; } _frameRates = new string[6]; _frameRates[0] = "15"; _frameRates[1] = "24"; _frameRates[2] = "25"; _frameRates[3] = "30"; _frameRates[4] = "50"; _frameRates[5] = "60"; switch (_movieCapture._frameRate) { default: case AVProMovieCaptureBase.FrameRate.Fifteen: _frameRateIndex = 0; break; case AVProMovieCaptureBase.FrameRate.TwentyFour: _frameRateIndex = 1; break; case AVProMovieCaptureBase.FrameRate.TwentyFive: _frameRateIndex = 2; break; case AVProMovieCaptureBase.FrameRate.Thirty: _frameRateIndex = 3; break; case AVProMovieCaptureBase.FrameRate.Fifty: _frameRateIndex = 4; break; case AVProMovieCaptureBase.FrameRate.Sixty: _frameRateIndex = 5; break; } int numVideoCodecs = AVProMovieCapturePlugin.GetNumAVIVideoCodecs(); if (numVideoCodecs > 0) { _videoCodecNames = new string[numVideoCodecs + 1]; _videoCodecNames[0] = "Uncompressed"; _videoCodecConfigurable = new bool[numVideoCodecs]; for (int i = 0; i < numVideoCodecs; i++) { _videoCodecNames[i + 1] = AVProMovieCapturePlugin.GetAVIVideoCodecName(i); _videoCodecConfigurable[i] = AVProMovieCapturePlugin.IsConfigureVideoCodecSupported(i); } } int numAudioDevices = AVProMovieCapturePlugin.GetNumAVIAudioInputDevices(); if (numAudioDevices > 0) { _audioDeviceNames = new string[numAudioDevices + 1]; _audioDeviceNames[0] = "Unity"; for (int i = 0; i < numAudioDevices; i++) { _audioDeviceNames[i + 1] = AVProMovieCapturePlugin.GetAVIAudioInputDeviceName(i); } } int numAudioCodecs = AVProMovieCapturePlugin.GetNumAVIAudioCodecs(); if (numAudioCodecs > 0) { _audioCodecNames = new string[numAudioCodecs + 1]; _audioCodecNames[0] = "Uncompressed"; _audioCodecConfigurable = new bool[numAudioCodecs]; for (int i = 0; i < numAudioCodecs; i++) { _audioCodecNames[i + 1] = AVProMovieCapturePlugin.GetAVIAudioCodecName(i); _audioCodecConfigurable[i] = AVProMovieCapturePlugin.IsConfigureAudioCodecSupported(i); } } _movieCapture.SelectCodec(false); _movieCapture.SelectAudioCodec(false); _movieCapture.SelectAudioDevice(false); }