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(); } }
public AudioClip GetRecordedAudio() { #if UNITY_WEBGL return(MicrophoneWebGL.GetAudioClip()); #else return(_audioClip); #endif }
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 }
public void StopRecord() { if (!IsRecording) { return; } #if UNITY_WEBGL MicrophoneWebGL.End(); #else Microphone.End(_microphoneDevice); #endif IsRecording = false; if (FinishedRecordEvent != null) { FinishedRecordEvent(); } }