首页 > 解决方案 > 尽管使用了适当的输入设备,PyAudio 在录音文件中没有输出

问题描述

我正在尝试使用 pyaudio 录制音频,但我拥有的程序没有任何输出

我使用 input_device_index = 0 这是我的电脑麦克风。我尝试连接到蓝牙耳机,但这会产生错误,因为需要更改 CHUNK 变量。这是我目前的代码:

def record(outputFile):
    CHUNK = 1024
    FORMAT = pyaudio.paInt16
    CHANNELS = 2
    RATE = 44100
    RECORD_SECONDS = 2

    p = pyaudio.PyAudio()

    stream = p.open(format=FORMAT, input_device_index = 0,
                    channels=CHANNELS,
                    rate=RATE,
                    input=True,
                    frames_per_buffer=CHUNK)

    print("* recording")

    frames = []

    for i in range(0, int(RATE / CHUNK * RECORD_SECONDS)):
        data = stream.read(CHUNK)
        frames.append(data)

    print("* done recording")

    stream.stop_stream()
    stream.close()
    p.terminate()

    wf = wave.open(outputFile, 'wb')
    wf.setnchannels(CHANNELS)
    wf.setsampwidth(p.get_sample_size(FORMAT))
    wf.setframerate(RATE)
    wf.writeframes(b''.join(frames))
    wf.close()

我尝试录制一个有很多声音的测试文件,但我只是得到一个完全没有声音的文件。有谁知道这个问题?

标签: pythonpython-3.xpyaudio

解决方案


推荐阅读