在 Python 中以最少的依赖播放音频文件
Python 缺乏用于开箱即用地播放声音文件的跨平台模块。对于Windows系统,winsound提供了一个简单的解决方案:
import winsound
winsound.PlaySound('sound.wav', winsound.SND_FILENAME)
对于 Linux,ossaudiodev 提供了更大的灵活性:
from wave import open as waveOpen
from ossaudiodev import open as ossOpen
s = waveOpen('tada.wav','rb')
(nc,sw,fr,nf,comptype, compname) = s.getparams( )
dsp = ossOpen('/dev/dsp','w')
try:
from ossaudiodev import AFMT_S16_NE
except ImportError:
from sys import byteorder
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 = s.readframes(nf)
s.close()
dsp.write(data)
dsp.close()
(ossaudiodev 的信用:Bill Dandreta https://mail.python.org/pipermail/python-list/2004-October/288905.html)
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3