问题描述
我尝试读出一个可以给我6个频道的麦卡利,但我只想要4个频道。现在,我的回调如下:
def _callback(self,data,frame_count,time_info,status):
self.frames_till_next_file -= frame_count
# see if we need to start a new file
if self.frames_till_next_file < 0:
self.frames_till_next_file += self.frames_between_start
self.begin_wave_file()
done = []
for file in self.files:
remain = self.frames_per_file - file.getnframes()
if frame_count < remain:
file.writeframesraw(data)
else:
remain *= self.sample_width * self.num_channels
file.writeframesraw(data[:remain])
done.append(file)
# tell pyaudio to keep goin
return (None,pyaudio.paContinue)
我的pyaudio流是这样的:
self.pa = pyaudio.PyAudio()
self.stream = self.pa.open(
format=sample_format,channels=6,rate=sample_rate,frames_per_buffer=1024,input=True,start=False,stream_callback=self._callback,input_device_index=0
)
我写的原始文件如下:
file = wave.open(path,'wb')
file.setnchannels(self.num_channels)
file.setsampwidth(self.sample_width)
file.setframerate(self.sample_rate)
我无法设法仅将通道2到通道5的数据写入原始文件。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)