Громкость микрофона

Программирование на Юнити.

Громкость микрофона

Сообщение Overmind 14 июл 2019, 22:27

Мне нужно получать громкость микрофона каждую секунду. Я уже находил много кода который оценивает громкость, но он работает не корректно. Даже если я молчу то показывает довольно большую громкость если я до этого кричал. Такое чувство что оно запоминает громкость которая была секунду назад. Мне надо что бы громкость каждую секунду обнулялась и если я молчу то показывало маленькие значения, если закричу то большие
Вот код
Синтаксис:
Используется csharp
void Start()
    {

        audioSource = GetComponent<AudioSource> ();
        if (UseMicrophone)
        {
            if (Microphone.devices.Length > 0)  
            {
                SelectedDevice = Microphone.devices[0].ToString();
                audioSource.clip = Microphone.Start(SelectedDevice, true, 999, AudioSettings.outputSampleRate);

               
            }
            else
            {
                UseMicrophone = false;
            }
        }
        else
        {
            audioSource.clip = audioClip;
        }
        audioSource.Play();
    }

    private void Update()
    {
        loundless = getVolume() * sensivity;
    }

    float getVolume()
    {
        float levelMax = 0;
        float[] waveData = new float[_sampleWindow];
        int micPosition = Microphone.GetPosition(null) - (_sampleWindow + 1);
        if (micPosition < 0)
        {
            return 0;
        }
        audioClip.GetData(waveData, micPosition);
        for (int i = 0; i < _sampleWindow; ++i)
        {
            float wavePeak = waveData[i] * waveData[i];
            if (levelMax < wavePeak)
            {
                levelMax = wavePeak;
            }
        }
        return levelMax;
    }
Overmind
UNец
 
Сообщения: 5
Зарегистрирован: 13 июл 2019, 19:10

Re: Громкость микрофона

Сообщение IDoNotExist 15 июл 2019, 10:52

Параметр _sampleWindow уменьшай.
Аватара пользователя
IDoNotExist
Адепт
 
Сообщения: 1432
Зарегистрирован: 23 мар 2011, 09:18
Skype: iamnoexist


Вернуться в Скрипты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13