我想两次使用以下功能。
此功能将实时音频输入转换为wav文件。
第一次使用PC内置麦克风,第二次使用代码运行前插入的耳机麦克风。
但是当我尝试功能时,它只使用了耳机的麦克风:
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)
在我的主程序中,我两次调用了此函数:
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")
但是当我运行此代码时,该功能仅使用耳机的麦克风。
如何同时使用个人计算机的内置麦克风和耳机的麦克风?
问题是,在音频管理器(在我的情况下是Realtek音频管理器)中,录制设备的高级设置被设置为“捆绑相同类型的输入插孔...”。
当我将其更改为“将所有输入插孔作为独立的输入设备分开时,它解决了该问题。