网上的代码 运行报错
import wave
from pyaudio import PyAudio, paInt16
framerate = 8000 # 采样率
NUM_SAMPLES = 2000 # 一个缓存存储采样点数量
channels = 1 # 一个通道
sampwidth = 2 # 两个字节16位
TIME = 2
def save_wave_file(filename, data):
'''''save the data to the wav file'''
wf = wave.open(filename, 'wb')
wf.setnchannels(channels)
wf.setsampwidth(sampwidth)
wf.setframerate(framerate)
wf.writeframes("".join(data))
wf.close()
def my_record(): # 定义读文件函数
pa = PyAudio() # PyAudio类实例化
stream = pa.open(format=paInt16, channels=1, # channels设置为1 方便百度识别 或许对象
rate=framerate, input=True,
frames_per_buffer=NUM_SAMPLES)
my_buf = [] # 定义列表 存放数据
count = 0
while count < TIME * 20:
string_audio_data = stream.read(NUM_SAMPLES) # 2000采样点较短,要重复循环读取
my_buf.append(string_audio_data)
#my_buf += string_audio_data
count += 1
print('正在录音')
#my_buff = [str(i) for i in my_buf]
save_wave_file('01.wav', my_buf)
stream.close()
my_record()
print('录音结束啦')
Traceback (most recent call last):
File "D:/pycharmproject/bishetest02/audiotest01.py", line 39, in
my_record()
File "D:/pycharmproject/bishetest02/audiotest01.py", line 35, in my_record
save_wave_file('01.wav', my_buf)
File "D:/pycharmproject/bishetest02/audiotest01.py", line 17, in save_wave_file
wf.writeframes("".join(data))
TypeError: sequence item 0: expected str instance, bytes found