团结如何实现录音并保存本地

  介绍

这篇文章主要为大家展示了团结如何实现录音并保存本地,内容简而易懂,希望大家可以学习一下,学习完之后肯定会有收获的,下面让小编带大家一起来看看吧。

我们可以使用统一自带的麦克风类来录的音,回放录音,保存录音

具体代码如下:

使用系统;
  使用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;我以上就是关于团结如何实现录音并保存本地的内容,如果你们有学习到知识或者技能,可以把它分享出去让更多的人看的到。

团结如何实现录音并保存本地