使用python-sounddevice库可以实现录制音频输出的功能。下面是一个完整的示例代码:
import sounddevice as sd
import numpy as np
def callback(indata, frames, time, status):
# 将录制的音频数据保存到全局变量中
global audio_data
audio_data = indata.copy()
# 设置录制参数
duration = 5 # 录制时长(秒)
sample_rate = 44100 # 采样率
channels = 2 # 声道数
# 开始录制音频
audio_data = np.zeros((int(duration * sample_rate), channels))
with sd.InputStream(callback=callback, channels=channels, samplerate=sample_rate):
sd.sleep(int(duration * 1000))
# 保存录制的音频数据到文件
filename = 'output.wav'
sd.write(filename, audio_data, sample_rate)
print("音频已成功录制并保存到文件:", filename)
上述代码使用了python-sounddevice库来录制音频输出。首先,我们定义了一个回调函数callback
,它会在每次录制到音频数据时被调用。在回调函数中,我们将录制到的音频数据保存到全局变量audio_data
中。
然后,我们设置了录制的参数,包括录制时长duration
、采样率sample_rate
和声道数channels
。
接下来,我们使用sd.InputStream
创建一个音频输入流,并指定回调函数和录制参数。然后,使用sd.sleep
函数等待录制完成。
最后,我们将录制的音频数据保存到文件output.wav
中,使用sd.write
函数实现。
以上就是使用python-sounddevice录制音频输出的方法。你可以根据实际需求调整录制参数和文件保存路径。
领取专属 10元无门槛券
手把手带您无忧上云