2016-06-13 1 views
1

Я пытаюсь использовать микрофон и обрабатывать аудиозапись. Мне удалось все это сделать, но у меня проблема ... Мой аудиозапись автоматически воспроизводится для пользователя, и я не хочу этого.Захват аудио без его воспроизведения

audioSrc.clip = Microphone.Start(null, true, 1000, 44100); 
    while (!(Microphone.GetPosition(null) > 0)) { } 
    audioSrc.Play(); 

Я попытался отключить прослушиватель аудио и уменьшить громкость источника звука, но это не сработало.

Кто-нибудь знает, как я могу записывать аудио, не воспроизводя его?

EDIT 1:

void Start() 
{ 
    GameObject a = new GameObject("AudioSource"); 
    audioSrc = a.AddComponent<AudioSource>(); 
    Instantiate(a); 

    string deviceName = Microphone.devices[0]; 
    audioSrc.clip = Microphone.Start(deviceName, true, 1000, 44100); 
    audioSrc.volume = 0; 
    while (!(Microphone.GetPosition(null) > 0)) { } 

    audioSrc.Play(); 
} 

void Update() 
{ 
    audioSrc.GetSpectrumData(spectrum, 0, FFTWindow.BlackmanHarris); 
    frq = findPitch(spectrum); 
    txtFreq.text = "Hz: " + frq; 
    trigger.update(Time.deltaTime, frq); 
} 
+0

привет Lulas, ты там? вам нужно TICK ответить. – Fattie

ответ

3

Каждый знает, как я могу захватить аудио без его воспроизведения?

Есть два способа сделать это:

.set объем до очень низкого числа. Это не может быть 0. Значение 0.001f полностью прекрасное.

audioSrc.volume = 0.001f; 

Работы в редакторе. Не тестировалось ни на одной другой платформе, кроме Windows. Используйте метод 2, если есть проблема.


.Использование AudioMixer, чтобы справиться с этим

Если настройки громкости в 0.001f не полностью заглушить звук затем использовать AudioMixer, чтобы исправить это.

A. Создайте аудиомиксер. Активы --->Создать --->Аудиокомпонент и его имя "MicMixer".

B. Создайте новую группу под микшером и назовите ее «MuteMic».

С .Кнопкой ослабление этой "MuteMic" группы -80.

D .Drag что "MuteMic" группе Output слот вашего МИК AudioSource в. Вот и все. GetOutputData функционирует нормально, без звука, выходящего из динамика.

анимированного GIF для этого: