我正在使用python中的計時器,在等待時間結束時發出鈴聲。我使用下面的代碼:如何在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()
它的工作原理相當不錯,除非其他設備已經outputing聲音。
我怎麼能基本相同(在Linux下)沒有沒有聲音播放的先決條件?
如果你認爲這個過程將需要一個API來保證軟件的混合,請建議的方法:)
THX的支持:)
沒有現代音響系統一次只能處理一個流。 – 2010-01-24 04:59:10