为什么我的PyGame调音台没有发出声音?

时间:2013-09-09 21:03:12

标签: python windows pygame windows-7-x64 mixer

2.7中的我的PyGame调音台无法使用声音选项。我可以使用mixer.music,但不能使用mixer.sound,使用mixer.sound它会产生一个小的滴答声,然后停止。代码:

import pygame
pygame.mixer.init(frequency=22050, size=-16, channels=2, buffer=4096)
song = pygame.mixer.Sound("song.mp3")
pygame.mixer.Sound.play(song)

没有错误,它只是不会播放并发出一个小的滴答声。 在Windows 7-x64顺便说一句。

4 个答案:

答案 0 :(得分:7)

通常,Pygame不会播放mp3文件。您可以测试以查看.wav和.ogg文件是否会先播放,以确保您的代码正确(根据您粘贴的内容,它似乎是正确的)。我建议将你的mp3声音转换为ogg for Pygame。

答案 1 :(得分:0)

这很容易解决,因为您的歌曲文件应该作为音乐加载,而不是正常声音。因此,以下代码使其完美运行:

import pygame
pygame.mixer.init(frequency=22050, size=-16, channels=2, buffer=4096)
pygame.mixer.music.load("song.mp3")
pygame.mixer.music.play()

答案 2 :(得分:0)

你刚刚创建了一个名为song的对象。

而不是" pygame.mixer.Sound.play(歌曲)"试试这个:

song.play()

答案 3 :(得分:-1)

Pygame会播放mp3文件。我有同样的问题,但我找到了解决方案:

如果您将mp3文件保存为' filename.mp3',并且您自己写下.mp3文件扩展名,那么pygame中的文件名为pygame.mixer.music.load()函数必须写为' filename.mp3.mp3',因为python希望你添加.mp3。如果您手动将其保存为文件名,有时.mp3已包含在文件名中。

因此,试试这个: pygame.mixer.music.load('filename.mp3.mp3')