Unity 语音通话功能
一、录制语音
Unity自带Api
publicRecognizeVoice(){string[]microPhoneName=Microphone.devices;if(microPhoneName.Length>0){_microphone=microPhoneName[0];}gotsamples=0;}publicvoidStartRecognize(){_audioclip=Microphone.Start(_microphone,true,time,frequency);}首先获取设备,然后设置录制时长,是否循环(超过时长,自动覆盖之前数据,因为数据实时传递的,设置为true节省空间,时间可以设置长一点,放置有卡顿,数据丢失),frequency采样率(越大精确,但是数据量大,可能丢包之类的,unity推荐录制采样率是44100)。
publicbyte[]GetAudioData(){intaudioPos=Microphone.GetPosition(_microphone);if(gotsamples==time*frequency)//获取到数据的最后一位了gotsamples=0;float[]samples=null;if(gotsamples