从终端编译时无法使用 Python 播放歌曲
Not able to play song using Python when compiled from terminal
import pygame
import time
pygame.mixer.init()
pygame.mixer.music.load('/home/bahara.mp3')
time.sleep(2)
pygame.mixer.music.play()
从终端编译这段代码时,没有抛出任何错误,但我听不到任何音乐。但是当逐行执行时,代码运行正常。
你能建议一种调试方法吗?我正在使用 Ubuntu 14.04 和 python 2.7.6
Pygame 需要您尚未初始化的活动显示器。我建议您尝试安装和使用 mpg123
命令行工具。
安装:
$ sudo apt-get install mpg123
节目:
import os, time
os.system('mpg123 /home/bahara.mp3')
我将 post 我之前的评论作为答案,因为我认为如果您想保留 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 和我都指出的那样,pygame 对 MP3 的支持非常有限,因此您可能想尝试将文件转换为 ogg。
import pygame
import time
pygame.mixer.init()
pygame.mixer.music.load('/home/bahara.mp3')
time.sleep(2)
pygame.mixer.music.play()
从终端编译这段代码时,没有抛出任何错误,但我听不到任何音乐。但是当逐行执行时,代码运行正常。
你能建议一种调试方法吗?我正在使用 Ubuntu 14.04 和 python 2.7.6
Pygame 需要您尚未初始化的活动显示器。我建议您尝试安装和使用 mpg123
命令行工具。
安装:
$ sudo apt-get install mpg123
节目:
import os, time
os.system('mpg123 /home/bahara.mp3')
我将 post 我之前的评论作为答案,因为我认为如果您想保留 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 和我都指出的那样,pygame 对 MP3 的支持非常有限,因此您可能想尝试将文件转换为 ogg。