python用os.system打开wav文件_如何在python中播放wav文件?

我试过pygame玩这个wav文件:

import pygame

pygame.init()

pygame.mixer.music.load("mysound.wav")

pygame.mixer.music.play()

pygame.event.wait()

但它改变了声音,我不知道为什么!

我读了this link的解决方案,无法解决我的问题,播放波形文件!

对于这个解决方案我不知道应该导入什么?

s = Sound()

s.read('sound.wav')

s.play()

对于这个解决方案/ dev / dsp dosen’t存在于新版本的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:

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()

当我尝试pyglet它给我这个错误:

import pyglet

music = pyglet.resource.media('mysound.wav')

music.play()

pyglet.app.run()

--------------------------

nima@ca005 Desktop]$python play.py

Traceback (most recent call last):

File "play.py", line 4, in

music = pyglet.resource.media('mysound.wav')

File "/usr/lib/python2.7/site-packages/pyglet/resource.py", line 587, in media

return media.load(path, streaming=streaming)

File "/usr/lib/python2.7/site-packages/pyglet/media/__init__.py", line 1386, in load

source = _source_class(filename, file)

File "/usr/lib/python2.7/site-packages/pyglet/media/riff.py", line 194, in __init__

format = wave_form.get_format_chunk()

File "/usr/lib/python2.7/site-packages/pyglet/media/riff.py", line 174, in get_format_chunk

for chunk in self.get_chunks():

File "/usr/lib/python2.7/site-packages/pyglet/media/riff.py", line 110, in get_chunks

chunk = cls(self.file, name, length, offset)

File "/usr/lib/python2.7/site-packages/pyglet/media/riff.py", line 155, in __init__

raise RIFFFormatException('Size of format chunk is incorrect.')

pyglet.media.riff.RIFFFormatException: Size of format chunk is incorrect.

AL lib: ReleaseALC: 1 device not closed

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值