Я работаю над классом python, который будет просто воспроизводить звук при вызове. Вот класс
import pyaudio
import numpy as np
class Buzzer(object):
def __init__(self, seconds = 3.0):
self.volume = 0.5 # range [0.0, 1.0]
self.fs = 44100 # sampling rate, Hz, must be integer
self.duration = seconds # in seconds, may be float
self.f = 440.0 # sine frequency, Hz, may be float
self.samples = (np.sin(2*np.pi*np.arange(self.fs*self.duration)*self.f/self.fs)).astype(np.float32)
self.stero_signals = np.c_[self.samples, self.samples]
self.stero_signals[:,0] = 0
def _play(self):
p = pyaudio.PyAudio()
stream = p.open(format=pyaudio.paFloat32,
channels=2,
rate=self.fs,
output=True)
# play. May repeat with different volume values (if done interactively)
stream.write(self.volume*self.samples)
stream.stop_stream()
stream.close()
p.terminate()
def __call__(self):
self._play()
Я хотел бы иметь возможность указать в вызове __init__
, воспроизводится ли звук слева от правого вкладыша. Как я могу изменить функцию _play
, чтобы позволить воспроизводить звук из одного наушника?
Я видел этот вопрос, но ответы не детализированы. ОП говорит, что нашел решение, но его решение включает функции, которые он не включил.