我正试着在游戏中播放一个缓冲区的声音。下面的代码正确地播放了一次声音,但是结果是TypeError: must be string without null bytes, not str。
f = open('sound.wav', 'rb')
data = f.read()
buffer = data[44:len(data)] # start after header
pygame.mixer.Sound(buffer).play()因为错误发生在声音正确播放一次之后,我怀疑play()预期buffer会更长。
发布于 2016-03-31 17:02:30
我认为您正在使用内置于函数python中的buffer作为变量。
下面是关于缓冲器的python文档。
我复制了你的错误TypeError: must be string without null bytes, not str
当缓冲区用于赋值时不产生错误的修改代码,而不是变量。
import pygame
pygame.mixer.init()
f = open('sound.wav', 'rb')
data = f.read()
#buffer = data[44:len(data)] # start after header
myBuffer = buffer(data , 44,len(data)) 
pygame.mixer.Sound(myBuffer).play()https://stackoverflow.com/questions/36294658
复制相似问题