在pygam中没有播放声音文件

2024-09-28 19:04:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我很难从pygame中得到声音播放。在

import pygame

pygame.init()
pygame.mixer.init()

sounda = pygame.mixer.Sound('G:/Portable Python/asharp.ogg') #Path and Sound File
soundb = pygame.mixer.Sound('asharp.ogg') #This also slips through without prompting an error, presumably both cmds work


sounda.play()
soundb.play()

这是我一直在玩的代码,我不能让声音文件在便携式python上运行,它在我的windows7 64位桌面上运行2.7.5。我也在我的Linux笔记本电脑上试过了,当播放声音文件时,我只听到一点声音,而不是真正的声音文件。在

有人有什么想法吗?在

编辑我想提到一些关于声音文件的事情。基本上我用一个ableton插件“vanguard”创建了一个synth。然后我把synth上的注释分别导出到.wav文件中。然后,为了将它们转换成.ogg格式,我使用Audacity剪切这些注释上的多余空间,然后将它们从Audacity导出为.ogg格式。当我创建.wav文件时,我以70bpm的速度播放。我不确定这是否与我在python中得到的输出有关。我需要完成一些家庭作业,如果可以的话,我会试试其他的.ogg声音文件。在


Tags: 文件声音playinit格式pygamewavmixer
2条回答

在声音。播放()返回播放声音所必需的对象。使用它,您还可以发现声音是否仍在播放:

channela = sounda.play()
while channela.get_busy():
   pygame.time.delay(100)

声音也一样。。。在

好的,对于频道来说,这就是你基本上要设置的方式。请注意,在每个频道上,您一次只能发布一个声音,尝试更多的操作将导致第一次停止。但是,您可以创建多个频道来播放声音。在

更多信息请访问:http://www.pygame.org/docs/ref/mixer.html#pygame.mixer.Channel

channelA = pygame.mixer.Channel(1)
sounda = pygame.mixer.Sound("asharp.ogg")
channelA.set_volume(1.0)
channelA.play(sounda)

相关问题 更多 >