Pyaudio 如何仅在一个扬声器上播放声音 [英] Pyaudio How to get sound on only one speaker
本文介绍了Pyaudio 如何仅在一个扬声器上播放声音的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在一个学校项目中使用 pyaudio,我试图让声音一次只在一个扬声器上播放.我的代码是这样的:
I'm using pyaudio in a school project and I'm trying to get the sound to play on only one speaker at a time. My code is like this:
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 只是生成一个波.
where wavefunc just generates a wave.
有人知道该怎么做吗?
推荐答案
现在您正在使用 channels=1
,即单声道音频流.您需要将两个声道用于立体声,并分别生成左右声道的数据.
Right now you are using channels=1
, i.e., a mono audio stream. You need to use two channels for stereo and generate the data for the left and right channel separately.
这篇关于Pyaudio 如何仅在一个扬声器上播放声音的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文