tôi đã cố gắng pygame để chơi file wav như thế này:cách phát tệp wav trong python?
import pygame
pygame.init()
pygame.mixer.music.load("mysound.wav")
pygame.mixer.music.play()
pygame.event.wait()
nhưng Nó thay đổi giọng nói và tôi không biết tại sao! Tôi đọc các giải pháp this link và không thể giải quyết vấn đề của mình khi phát tệp sóng!
cho giải pháp này Tôi không biết tôi nên nhập gì?
s = Sound()
s.read('sound.wav')
s.play()
và cho điều này giải pháp/dev/dsp doesnt tồn tại trong phiên bản mới của 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()
và khi tôi cố gắng pyglet Nó cho tôi lỗi này:
import pyglet
music = pyglet.resource.media('mysound.wav')
music.play()
pyglet.app.run()
--------------------------
[email protected] Desktop]$ python play.py
Traceback (most recent call last):
File "play.py", line 4, in <module>
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
ý bạn là gì bởi "nó thay đổi giọng nói"? – astrognocci
Nó thay đổi âm thanh của con người thành âm thanh con (xin lỗi tiếng anh của tôi không tốt lắm và tôi không thể tìm được từ thích hợp cho vấn đề của mình) – nim4n
Ý bạn là, âm thanh có độ cao cao hơn nó phải không? – astrognocci