Микрофон без звука
Добавлено: 17 июл 2019, 00:59
Я использую скрипт который определяет громкость микрофона. Но при этом он записывает клип который ставит на прослушивание в AudioSource, я получается слышу сам себя. Но если я выключу громкость в AudioSource то громкость не будет определятся. Как можно получить громкость но при этом не слышать сам себя? И еще, если я сверну игру то этот клип перестает записываться и начинает проигрываться с самого начала, можно как то начинать запись заново если старая закончилась?
Код:
Код:
Синтаксис:
Используется csharp
void Start()
{
sensivity = StaticLoaderSettings.sensivity;
audioSource = GetComponent<AudioSource> ();
if (UseMicrophone)
{
if (Microphone.devices.Length > 0)
{
SelectedDevice = Microphone.devices[0].ToString();
audioSource.clip = Microphone.Start(SelectedDevice, true, 2, 44100);
}
else
{
UseMicrophone = false;
}
}
else
{
audioSource.clip = audioClip;
}
audioSource.Play();
}
private void Update()
{
loundless = getVolume() * sensivity;
}
float getVolume()
{
float[] data = new float[128];
float a = 0;
audioSource.GetOutputData(data, 0);
foreach (float s in data)
{
a += Mathf.Abs(s);
}
return a / 128;
}
{
sensivity = StaticLoaderSettings.sensivity;
audioSource = GetComponent<AudioSource> ();
if (UseMicrophone)
{
if (Microphone.devices.Length > 0)
{
SelectedDevice = Microphone.devices[0].ToString();
audioSource.clip = Microphone.Start(SelectedDevice, true, 2, 44100);
}
else
{
UseMicrophone = false;
}
}
else
{
audioSource.clip = audioClip;
}
audioSource.Play();
}
private void Update()
{
loundless = getVolume() * sensivity;
}
float getVolume()
{
float[] data = new float[128];
float a = 0;
audioSource.GetOutputData(data, 0);
foreach (float s in data)
{
a += Mathf.Abs(s);
}
return a / 128;
}