我正在使用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