Exemplo n.º 1
0
        public void StartRecord()
        {
            if (!IsCanWork)
            {
                if (RecordFailedEvent != null)
                {
                    RecordFailedEvent();
                }

                return;
            }

            if (_audioClip != null)
            {
                MonoBehaviour.Destroy(_audioClip);
            }

#if UNITY_WEBGL
            MicrophoneWebGL.Start();
#else
            _audioClip = Microphone.Start(_microphoneDevice, _isLoop, _recordLength, _sampleRate);
#endif
            IsRecording = true;

            if (StartedRecordEvent != null)
            {
                StartedRecordEvent();
            }
        }
Exemplo n.º 2
0
        public AudioClip GetRecordedAudio()
        {
#if UNITY_WEBGL
            return(MicrophoneWebGL.GetAudioClip());
#else
            return(_audioClip);
#endif
        }
Exemplo n.º 3
0
        private void CheckMicrophones()
        {
#if UNITY_WEBGL
            MicrophoneWebGL.Init();
#else
            if (Microphone.devices.Length > 0)
            {
                _microphoneDevice = Microphone.devices[0];
                IsCanWork         = true;
            }
            else
            {
                Debug.Log("Microphone devices not found!");
                IsCanWork = false;
            }
#endif
        }
Exemplo n.º 4
0
        public void StopRecord()
        {
            if (!IsRecording)
            {
                return;
            }

#if UNITY_WEBGL
            MicrophoneWebGL.End();
#else
            Microphone.End(_microphoneDevice);
#endif

            IsRecording = false;

            if (FinishedRecordEvent != null)
            {
                FinishedRecordEvent();
            }
        }