Pyaudio如何仅在一个扬声器上获得声音
我在一个学校项目中使用pyaudio,试图将声音一次只在一个扬声器上播放。我的代码是这样的:
import pyaudiop = pyaudio.PyAduio()
def play_wave(stream, wave):
chunks = []
chunks.append(wave)
chunk = concatenate(chunks)*0.1
stream.write(chunk.astype(np.float32).tostring())
def play_sound(freq, t, A=0.2):
wave, A = wavefunc(t, freq, A=A)
S = sigmoid(t)
wave = wave*S
stream = p.open(channels=1, rate=44100, format=pyaudio.paFloat32, output=True)
play_wave(stream,wave)
stream.close()
在这里wavefunc只会生成一个wave。
有人知道该怎么办吗?
回答:
现在,您正在使用channels=1
,即单声道音频流。您需要使用两个声道进行立体声,并分别为左右声道生成数据。
这是有关如何创建立体声数据的简短教程。
以上是 Pyaudio如何仅在一个扬声器上获得声音 的全部内容, 来源链接: utcz.com/qa/407526.html