我正在使用PyAudio播放本地.wav文件。有时它会中止错误报告,如:
python(94397,0x7fffb955a3c0)malloc:***对象0x7f9cb3001c00的错误:释放对象的校验和不正确 - 对象可能在被释放后被修改。 ***在malloc_error_break中设置断点以进行调试
或简单地"分段错误:11"。
代码完全是以下示例代码:
import pyaudio
import wave
chunk = 1024
f = wave.open(r"1.wav","rb")
p = pyaudio.PyAudio()
stream = p.open(format = p.get_format_from_width(f.getsampwidth()),
channels = f.getnchannels(),
rate = f.getframerate(),
output = True)
data = f.readframes(chunk)
while data:
stream.write(data)
data = f.readframes(chunk)
stream.stop_stream()
stream.close()
p.terminate()
" 1.wav"是一个少于1秒的节拍器咔嗒声。
顺便说一下,声音总是伴随着一些令人讨厌的开裂声,所以我无法获得干净的节拍器点击。我也尝试过使用PyGame模块,但总是失败,错误与第一个完全相同。代码:
import pygame
pygame.mixer.init(frequency=44100, size=-16, channels=2, buffer=4096)
pygame.mixer.music.load("2.wav")
pygame.mixer.music.play()
pygame.event.wait()