Python 一步一步教你用pyglet制作可播放音乐的扬声器类
import pyglet
class MusicPlayer:
def __init__(self, window):
self.window = window
self.music_player = pyglet.media.Player()
self.is_playing = False
def load(self, filename):
try:
source = pyglet.media.load(filename)
self.music_player.queue(source)
self.music_player.eos_action = self.music_player.EOS_PAUSE
except Exception as e:
print(f"Error: {e}")
def play(self):
if not self.is_playing:
self.music_player.play()
self.is_playing = True
def pause(self):
if self.is_playing:
self.music_player.pause()
self.is_playing = False
def stop(self):
self.music_player.seek(0)
self.music_player.pause()
self.is_playing = False
# 使用示例
window = pyglet.window.Window() # 创建一个pyglet窗口
player = MusicPlayer(window) # 创建音乐播放器实例
player.load('song.mp3') # 加载音乐文件
player.play() # 播放音乐
# 在窗口关闭时停止播放并关闭pyglet
@window.event
def on_close():
player.stop()
pyglet.app.exit()
# 运行pyglet应用
pyglet.app.run()
这段代码展示了如何使用pyglet创建一个简单的音乐播放器类,并包括了加载音乐文件、播放、暂停和停止音乐的基本方法。在使用时,需要替换'song.mp3'
为实际的音乐文件路径。这个例子也展示了如何在pyglet窗口中处理关闭事件,确保在应用程序关闭时正确地清理资源。
评论已关闭