Я работаю над таймером в python, который подает звуковой сигнал, когда время ожидания истекло. Я использую следующий код:
from wave import open as wave_open
from ossaudiodev import open as oss_open
def _play_chime():
"""
Play a sound file once.
"""
sound_file = wave_open('chime.wav','rb')
(nc,sw,fr,nf,comptype, compname) = sound_file.getparams( )
dsp = oss_open('/dev/dsp','w')
try:
from ossaudiodev import AFMT_S16_NE
except ImportError:
if byteorder == "little":
AFMT_S16_NE = ossaudiodev.AFMT_S16_LE
else:
AFMT_S16_NE = ossaudiodev.AFMT_S16_BE
dsp.setparameters(AFMT_S16_NE, nc, fr)
data = sound_file.readframes(nf)
sound_file.close()
dsp.write(data)
dsp.close()
Работает довольно хорошо, если только другое устройство не выводит звук.
Как я могу сделать в основном то же самое (под Linux), не имея предпосылки, что звук не воспроизводится?
Если вы считаете, что для этого процесса потребуется API, обеспечивающий смешивание программного обеспечения, предложите метод:)
Спасибо за поддержку:)