介绍
这篇文章主要为大家展示了团结如何实现录音并保存本地,内容简而易懂,希望大家可以学习一下,学习完之后肯定会有收获的,下面让小编带大家一起来看看吧。
我们可以使用统一自带的麦克风类来录的音,回放录音,保存录音
具体代码如下:
使用系统; 使用System.Collections; 使用System.Collections.Generic; 使用先; 使用UnityEngine; 公共类MicroPhoneManager: MonoBehaviour { 公共int DeviceLength;///& lt; summary>///录音频率///& lt;/summary> 公共弦频率=?4100“; 公共int Samplerate=44100;///& lt; summary>///录音时长///& lt;/summary> 公共int MicSecond=2; 字符串infoLog=?“; AudioSource _curAudioSource; AudioSource CurAudioSource { 得到 { 如果(_curAudioSource==null) { _curAudioSource=gameObject.AddComponent(); } 返回_curAudioSource; } } #地区(公开的方式)///& lt; summary>///获取麦克风设备///& lt;/summary> 公共空间GetMicrophoneDevice () { string [] mDevice=Microphone.devices; DeviceLength=mDevice.Length; 如果(DeviceLength==0) ShowInfoLog(“找不到麦克风设备!“); }///& lt; summary>///开始录音///& lt;/summary> 公共空间StartRecordAudio () { CurAudioSource.Stop (); CurAudioSource。循环=false; CurAudioSource。沉默=true; CurAudioSource。剪辑=麦克风。开始(null,真的,MicSecond int.Parse(频率)); 而(! (Microphone.GetPosition (null)比;0)) { } CurAudioSource.Play (); ShowInfoLog(“开始录音.....“); }///& lt; summary>///停止录音///& lt;/summary> 公共空间StopRecordAudio () { ShowInfoLog(“结束录音.....“); 如果(! Microphone.IsRecording (null)) 返回; Microphone.End(空); CurAudioSource.Stop (); }///& lt; summary> s///回放录音///& lt;/summary> 公共空间PlayRecordAudio () { 如果(Microphone.IsRecording (null)) 返回; 如果(CurAudioSource。剪辑==null) 返回; CurAudioSource。沉默=false; CurAudioSource。循环=false; CurAudioSource.Play (); ShowInfoLog(“播放录音.....“); }///& lt; summary>///打印录音信息///& lt;/summary> 公共空间PrintRecordData () { 如果(Microphone.IsRecording (null)) 返回; byte [] data=https://www.yisu.com/zixun/GetClipData (); #地区用户自由固定录音时长 int位置=Microphone.GetPosition(空); var soundata=new [CurAudioSource.clip浮动。样品* CurAudioSource.clip.channels]; CurAudioSource.clip。GetData (soundata 0); var newdata=new浮动(位置* CurAudioSource.clip.channels); for (int i=0;我 以上就是关于团结如何实现录音并保存本地的内容,如果你们有学习到知识或者技能,可以把它分享出去让更多的人看的到。 团结如何实现录音并保存本地