用Python播放声音

2024-03-29 06:12:20 发布

您现在位置:Python中文网/ 问答频道 /正文

用Python播放声音文件(.wav)最简单的方法是什么?最简单的说,我指的是大多数独立于平台,需要最少的依赖性。pygame当然是一个选择,但就声音而言,它似乎有点过头了。


Tags: 方法声音平台pygame依赖性wav声音文件过头
3条回答

对于Windows,可以使用winsound。它是内置的

import winsound

winsound.PlaySound('sound.wav', winsound.SND_FILENAME)

您应该能够使用ossaudiodev for linux:

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 Dandratahttp://mail.python.org/pipermail/python-list/2004-October/288905.html

这看起来很荒谬和牵强,但你可以随时使用Windows(或任何你喜欢的操作系统)来管理你的声音!

import os
os.system("start C:/thepathyouwant/file")

简单,没有扩展,有点慢和垃圾,但工作。

The Snack Sound Toolkit可以播放wav、au和mp3文件。

s = Sound() 
s.read('sound.wav') 
s.play()

相关问题 更多 >