在 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