Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从麦克风捕获音频而无需播放_C#_Audio_Unity3d_Microphone - Fatal编程技术网

C# 从麦克风捕获音频而无需播放

C# 从麦克风捕获音频而无需播放,c#,audio,unity3d,microphone,C#,Audio,Unity3d,Microphone,我正在尝试使用麦克风处理捕获的音频。我设法做到了,但我有个问题。。。我捕获的音频会自动播放给用户,我不希望这样 audioSrc.clip = Microphone.Start(null, true, 1000, 44100); while (!(Microphone.GetPosition(null) > 0)) { } audioSrc.Play(); 我试图禁用音频侦听器并降低音频源的音量,但没有成功 有人知道我如何在不播放的情况下捕获音频吗 编辑1: vo

我正在尝试使用麦克风处理捕获的音频。我设法做到了,但我有个问题。。。我捕获的音频会自动播放给用户,我不希望这样

    audioSrc.clip = Microphone.Start(null, true, 1000, 44100);
    while (!(Microphone.GetPosition(null) > 0)) { }
    audioSrc.Play();
我试图禁用音频侦听器并降低音频源的音量,但没有成功

有人知道我如何在不播放的情况下捕获音频吗

编辑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);
}
void Start()
{
游戏对象a=新游戏对象(“音频源”);
audioSrc=a.AddComponent();
实例化(a);
字符串deviceName=麦克风.设备[0];
audioSrc.clip=麦克风.Start(deviceName,true,100044100);
audioSrc.volume=0;
而(!(micromic.GetPosition(null)>0)){}
audioSrc.Play();
}
无效更新()
{
audioSrc.GetSpectrumData(频谱,0,FFTWindow.BlackmanHarris);
frq=findPitch(光谱);
txtFreq.text=“Hz:+frq;
触发器更新(Time.deltaTime,frq);
}
有人知道我如何在不播放的情况下捕获音频吗

有两种方法可以做到这一点:

1。将音量设置为非常低的数字这不能是0
0.001f
的值完全正常

audioSrc.volume = 0.001f;
在编辑部工作。未在除Windows以外的任何其他平台上测试。如果出现问题,请使用方法2


2。使用音频混音器来处理它

如果将音量设置为
0.001f
未完全静音音频,则使用
音频混音器
进行修复

A。创建音频混音器。资产-->创建-->音频混音器,名称为“MicMixer”

B。在混音器下创建新组,并将其命名为“MuteMic”

C。将该“互斥”组的衰减更改为
-80

D。将“MuteMic”组拖动到麦克风的音频源的输出插槽中。就这样。
GetOutputData
功能正常,扬声器没有发出任何声音

此文件的动画gif:

有人知道我如何在不播放的情况下捕获音频吗

有两种方法可以做到这一点:

1。将音量设置为非常低的数字这不能是0
0.001f
的值完全正常

audioSrc.volume = 0.001f;
在编辑部工作。未在除Windows以外的任何其他平台上测试。如果出现问题,请使用方法2


2。使用音频混音器来处理它

如果将音量设置为
0.001f
未完全静音音频,则使用
音频混音器
进行修复

A。创建音频混音器。资产-->创建-->音频混音器,名称为“MicMixer”

B。在混音器下创建新组,并将其命名为“MuteMic”

C。将该“互斥”组的衰减更改为
-80

D。将“MuteMic”组拖动到麦克风的音频源的输出插槽中。就这样。
GetOutputData
功能正常,扬声器没有发出任何声音

此文件的动画gif:


嗨,卢拉斯,你在吗?你需要勾选答案。嗨,卢拉斯,你在吗?你需要勾选一个答案。