[英]How do I coerce str to correct type for pygame.mixer (Python)?
我有一些可以在Windows中使用以下代码的python代码:
winsound.PlaySound(a_sound, winsound.SND_MEMORY)
当然,在Linux中这是行不通的。 我尝试了以下操作(使用http://www.pygame.org/docs/ref/mixer.html中的文档作为指南):
import pygame
pygame.init()
sound = pygame.mixer.Sound(a_sound)
clock = pygame.time.Clock()
sound.play()
while pygame.mixer.get_busy():
clock.tick(30)
但我得到:
TypeError: must be string without null bytes, not str
a_sound
不是文件名,而是一个<type 'str'>
type'str <type 'str'>
包含未压缩的PCM数据(带有正确的RIFF.WAV标头)
如何使用pygame.mixer
正确呈现数据?
Sound
需要文件名或类似文件的对象。 您可以使用StringIO
从字符串创建后者:
import cStringIO
...
sound = pygame.mixer.Sound(cStringIO.StringIO(a_sound))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.