gpt4 book ai didi

python - 如何强制 str 更正 pygame.mixer (Python) 的类型?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:23:17 25 4
gpt4 key购买 nike

我有一些 python 代码可以在 Windows 中使用以下代码:

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'>包含未压缩的 PCM 数据(带有正确的 RIFF.WAV header )

我如何使用 pygame.mixer正确呈现数据?

最佳答案

Sound 需要一个文件名或一个类似文件的对象。您可以使用 StringIO 从字符串创建后者:

import cStringIO
...
sound = pygame.mixer.Sound(cStringIO.StringIO(a_sound))

关于python - 如何强制 str 更正 pygame.mixer (Python) 的类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17760556/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com