可以使用音频流实时获取音频,并结合缓冲区处理方式实现部分获取音频的需求。以下是使用PyAudio库实现的示例代码:
import pyaudio
# 设置参数
 CHUNK = 1024
 FORMAT = pyaudio.paInt16
 CHANNELS = 1
 RATE = 16000
 RECORD_SECONDS = 5
 # 实时读取音频
p = pyaudio.PyAudio()
stream = p.open(format=FORMAT,
                channels=CHANNELS,
                rate=RATE,
                input=True,
                frames_per_buffer=CHUNK)
 # 缓冲区
buffer = []
 # 部分获取音频
for i in range(0, int(RATE / CHUNK * RECORD_SECONDS)):
    data = stream.read(CHUNK)
    buffer.append(data)
 # 关闭流和PyAudio
stream.stop_stream()
stream.close()
p.terminate()
# 输出部分获取的音频
print(buffer)
其中,通过设置frames_per_buffer参数,可以实现将音频按缓冲区大小进行一定程度的分块,然后把每个块都加入缓冲区中,实现部分获取音频。该示例代码实现了5秒钟内实时读取16000Hz的音频,并将每个块大小设置为1024。执行结果为一个包含多个缓冲区的列表,长度为int(RATE / CHUNK * RECORD_SECONDS)。用户可以根据需求自行修改参数。
                    上一篇:部分忽略指针,而不是整个小部件。
                
下一篇:部分ID信息的目标元素