0

我想使用以下功能两次。

此函数将现场音频输入转换为 wav 文件。

第一次,我使用我的电脑内置麦克风,第二次使用我在运行代码之前插入的耳机麦克风。

但是当我尝试我的功能时,它只使用了我的耳机麦克风:

import sounddevice as sd
from scipy.io.wavfile import write
from playsound import playsound
def audio_to_wav(dst, device):
    """
    converts live audio to wav file
    :param dst: destination wav file
    """
    # Sample rate:
    fs = 4410
    # Duration of recording:
    seconds = 5

    myrecording = sd.rec(int(seconds * fs), samplerate=fs, channels=2, device=device)
    # Wait until recording is finished:
    sd.wait()
    # Save as WAV file:
    write(dst, fs, myrecording)

在我的 main 我调用了这个函数两次:

def main():
    # transfer mic1 audio to wav:
    audio_to_wav("file1.wav", 0)
    # transfer mic2 audio to wav:
    audio_to_wav("file2.wav", 1)
    # play the wav files audio:
    playsound("file1.wav")
    playsound("file2.wav")

但是当我运行此代码时,该功能仅使用耳机的麦克风。

如何同时使用我的电脑内置麦克风和耳机的麦克风?

4

1 回答 1

0

问题是在音频管理器(在我的情况下是 Realtek 音频管理器)中,录音设备的高级设置被设置为“绑定相同类型的输入插孔......”。

当我将其更改为“将所有输入插孔分离为独立的输入设备”时,它解决了问题。

于 2019-12-19T17:41:31.863 回答