Pyaudio如何仅在一个扬声器上获得声音

我在一个学校项目中使用pyaudio,试图将声音一次只在一个扬声器上播放。我的代码是这样的:

import pyaudio

p = 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

回到顶部