从term编译时无法使用Python播放歌曲

2024-09-28 01:23:44 发布

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

import pygame

import time

pygame.mixer.init()

pygame.mixer.music.load('/home/bahara.mp3')

time.sleep(2)

pygame.mixer.music.play()

从终端编译代码时,没有抛出错误,但我听不到任何音乐。但当逐行执行时,代码运行良好。在

你能建议一种调试方法吗?我使用的是Ubuntu14.04和Python2.7.6


Tags: 代码import终端homeplaytimeinit错误
2条回答

我将把我之前的评论作为答案,因为我认为如果你想保留pygame控制音乐播放器的能力,那就值得一试。在

我怀疑您没有听到任何声音,因为pygame在脚本结束时退出,而当您在python终端会话中逐行运行时,pygame仍然处于活动状态。一种测试方法是在开始播放文件后添加一个循环,例如检查get_busy状态:

import pygame
import time
pygame.mixer.init()
pygame.mixer.music.load('/home/bahara.mp3')
time.sleep(2)
pygame.mixer.music.play()

while pygame.mixer.music.get_busy():
    print "Song is playing"
    time.sleep(1)
print "Song has finished"

假设这是可行的,您仍然可以使用pygame的控件来播放、暂停等

另外,请注意,正如Malik和我都指出的,MP3在pygame中的支持非常有限,所以您可以尝试将您的文件转换成ogg。在

Pygame需要一个尚未初始化的活动显示。我建议您尝试安装并使用mpg123命令行工具。在

安装:

$ sudo apt-get install mpg123

课程:

^{pr2}$

相关问题 更多 >

    热门问题