首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

我正在用pygame做一个mp3播放器,但是当pygame.music ()加载窗口时,我不允许退出。

pygame.music.load()函数用于加载音乐文件,而pygame.mixer.music.play()函数用于播放加载的音乐文件。当调用pygame.mixer.music.play()函数时,程序会进入一个循环,直到音乐播放完毕才会退出。如果你希望在音乐播放期间仍然能够退出程序,可以在程序中添加一个退出的条件。

以下是一个示例代码:

代码语言:txt
复制
import pygame
import sys

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

# 加载音乐文件
pygame.mixer.music.load("music.mp3")

# 播放音乐
pygame.mixer.music.play()

while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            # 退出程序
            pygame.mixer.music.stop()
            pygame.quit()
            sys.exit()

在上述代码中,我们使用了pygame.event.get()函数来获取事件,如果检测到QUIT事件(即用户点击关闭窗口按钮),则停止音乐播放并退出程序。

希望这个答案能够解决你的问题。如果你对pygame或其他相关内容有更多疑问,欢迎继续提问。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

小项目 | 基于 Pygame 自制一个背景优美的 MP3 播放器

今天我们来动手做一个小项目,基于 Pygame 来实现一个 MP3 播放器,虽然当前项目还比较简陋,但是这就是我们前进的第一步! ?...添加背景图片 相信对于 Pygame 有所了解的小伙伴应该清楚,在版本2.0以前,Pygame 加载图片只支持 BMP 格式,所以我们需要先生成 BMP 格式的图片,这里选择网上的自动转换网站: https...(size) pygame.display.set_caption("自制MP3") bg = pygame.image.load_basic("/Users/edisonvera/Downloads/...,因为 Pygame 对于 mp3 等音频格式的文件支持的不太好,所以还是使用上面的网站,把对应的音频文件转成 ogg 格式 然后就可以加载音频文件了 pygame.mixer.init() track...() 这样,一个简易的 MP3 播放器就完成了,快来试试吧!

89530
  • PyGame:Python 游戏编程入门-1

    这是您可以控制的窗口部分,而操作系统控制窗口边框和标题栏。 如果你现在运行这个程序,那么你会看到一个窗口短暂地弹出,然后在程序退出立即消失。不要眨眼,否则您可能会错过!...帧继续出现,直到满足退出游戏的某些条件。在您的设计中,有两个条件可以结束游戏循环: 玩家与障碍物相撞。(稍后您将介绍碰撞检测。) 播放器关闭窗口。...此事件仅在用户单击窗口关闭按钮发生。用户还可以使用任何其他操作系统动作来关闭窗口。...您将这些行添加到前面的代码并运行它,您会看到一个带有空白或黑屏的窗口: 在您按下该键之前,该窗口不会消失Esc,或者QUIT通过关闭窗口来触发事件。...() 您将 a 传递Rect给 .blit(),它使用左上角的坐标来绘制表面。

    2.1K40

    Python点阵字玩转动态歌词

    按时间打印歌词 以“[00:02.88]无条件“为例,在第2.88秒将“无条件”打印输出,再到下一句的5.59秒,输出下一个文本,这里采用了比较简单的方式:利用time模块中的time.sleep(...这样做忽略了执行代码的运行时间,但是好在代码简单、新手友好,而且忽略的影响并不明显。...在之前printPlay.py文件基础上,做了些改动,将运行printPlay.py要执行的代码放入main中并对__name__先做个判断再执行。...歌曲播放 歌词问题解决,接下来是歌曲,我们选用pygamemp3播放功能。这个需要安装pygame, 可以通过pip install pygame来直接操作。...import pygame pygame.mixer.init() track = pygame.mixer.music.load('无条件.mp3') pygame.mixer.music.play(

    1.2K20

    从零开始学习PYTHON3讲义(十五)让画面动起来

    《从零开始PYTHON3》第十五讲 虽然看起来绘图和音乐并不相关,但是听过了上一讲的内容你一定知道,这是游戏编程中四个需要处理内容的两部分,这两部分必须同时、并行的处理,不能因为某一项计算的拖延,导致另外一方程序的停滞...但因为用户编程接口的兼容性,所以至少从我们编程所感受到的方式上,还是串行处理的。 坐标系 科技绘图(matplotlib):采用数学坐标系,同显示设备无关,通常原点在屏幕中心。...三个颜色都是0的时候显示为纯黑。三个颜色都是255的时候,显示为纯白。 因为是三个颜色,所以通常的颜色都是使用三个值的“元组”的形式表达的。元组我们第九讲学过了。...#处理所有事件 for event in pygame.event.get(): #用户从窗口菜单选择退出 if event.type == pygame.QUIT...---- 练习时间 修改上面程序的参数,让地鼠的速度加快一倍,而箭的速度保持不变 上一讲中的mp3播放器,请实现在播放器播放的时候,显示一张歌曲的封面图片 ---- 本讲小结 本讲介绍了使用pygame

    1.2K20

    【Python100天学习笔记】Day10 图形用户界面和游戏开发

    下面的代码演示了如何使用tkinter做一个简单的GUI应用。...('温馨提示', '确定要退出吗?')...Pygame建立在SDL的基础上,SDL是一套跨平台的多媒体开发库,用C语言实现,被广泛的应用于游戏、模拟器、播放器等的开发。...__': main() 加载图像 如果需要直接加载图像到窗口上,可以使用pygame中image模块的函数来加载图像,再通过之前获得的窗口对象的blit方法渲染图像,代码如下所示。...ball.eat(other) if __name__ == '__main__': main() 上面的两段代码合在一起,我们就完成了“大球吃小球”的游戏(如下图所示),准确的说它算不上一个游戏,但是做一个小游戏的基本知识我们已经通过这个例子告诉大家了

    2.5K20

    2021南方今年的第一场雪在Python

    但是,南方还没有开始下,所以我就想用Python制作一场雪送给南方想看雪的朋友~ 先介绍用的工具:用pygame 来实现,Python 版本用的是 3.8 首先,执行下面命令安装 pygame pip...(bg_size) bg = pygame.image.load('bg.jpg') clock 后面会用来设置帧率,bg_size是应用窗口尺寸(宽度和高度),screen是创建的屏幕(应用窗口),...bg是加载的一张图片用来作为窗口的背景图。 要想做一个下雪的效果,其实分两步,第一步是定义雪花,第二步是让雪花动。 1、 定义雪花 定义雪花比较简单,我们就用大大小小的圆来代替即可。...snow_pics = get_snows_circle(250) while True: for event in pygame.event.get(): # 监听是否有退出事件,固定写法 if...pygame.mixer.music.play() 用的是《雪落下的声音》伴奏版,挺好听。

    51710

    Python高阶项目(转发请告知)

    它起着可以加载,操作和保存音频文件的容器的作用。让我们用python创建我们的第一个音频。替换,我们将需要一个测试文件,该文件可以采用任何格式,例如WAV,MP3或任何格式。...Python音乐播放器 首先是选择一个Python GUI框架,这里将使用两个主要的GUI模块来使用Python创建音乐播放器: •Pygame•Tkinter Pygame是用于创建视频游戏的Python...要使用Python创建音乐播放器,我们将使用Pygame声音组件。 Tkinter是用于创建GUI应用程序的库。...将基于坐立不安微调器创建一个非常简单的游戏。游戏的逻辑是,按空格键转弯数将保持增加,并且转弯速度将降低,并在您停止按空格键停止。 (因此上传不了视频。请关注的公众号:CoXie带你学编程。...这个游戏有两种基本逻辑:两个玩家都是人类,而一个是计算机时。将为两个玩家准备这个带有Python的井字游戏。

    4.3K10

    Python | Time Marker时间标签(附详细注释)

    监听键盘使用的也是Pygame提供的功能 至于记录时间,仅仅是简单的文件操作 而手动关闭窗口,可以使用ESC或者点右上角的X 三、完整代码(附详细注释) import pygame from pygame.locals...# repeating loop while True : # 监听键盘 和退出 for event in pygame.event.get(): if event.type...() screen.fill((0,0,0)) 四、代码评价 一直强调一个软件的关键在于你想让它做什么,比如用文件操作可以写一个清单软件,比如Pygame是用来开发2d游戏的,但是它提供了很丰富的功能...,用来监听键盘,用来做一个时钟,或者是计时器都是不错的选择。...五、往期精彩内容 Python | “万年历——日期查询” Python | "写了个钟" Python | “一个简单的清单软件easybill” Python | “包管理器不能帮你安装pip怎么办

    46710

    520最浪漫表白:QQ打开基于Python实现的无法拒绝的音乐表白代码!别让等待,成了遗憾!

    一些操作系统支持最小化窗口切换标题栏,通过设置 icontitle 参数实现。 添加文本信息 pygame.font.SysFont()从系统字体库创建一个 Font 对象。...如果找不到一个合适的系统字体,该函数将会回退并加载默认的 pygame 字体。尝试搜索的 name 参数可以是一个用逗号隔开的列表。...首先,定义了窗口大小、颜色、笔的粗细以及画图的速度等 screensize(1200, 900, '颜色') pensize(3) speed(12) penup() 规定了开始画图的起始位置,窗口中心为...6,并未执行小矩形不动的程序,将要触碰小矩形还可继续随机跳动 if num < 6: button('NO', unlike_pos_x, unlike_pos_y...: show_unlike_interface(screen) # 点击窗口关闭按钮,亦关闭不了,直到承认喜欢你的事实后方可结束程序

    4.2K30

    童年游戏大回顾:飞机大战

    在游戏里所向披靡的(当年的属实是有点东西的)不管多依依不舍,到“某一刻”总会迅速地把游戏机收拾好,关上电视并用湿毛巾擦擦降温(想起那天夕阳下的奔跑,那是逝去的青春...)然后营造出认真学习的情景...碰撞检测: 游戏需要实现碰撞检测机制,玩家飞机与敌机或敌机的子弹发生碰撞,游戏结束。 难度递增: 随着游戏的进行,敌机的数量和速度可以逐渐增加,增加游戏的难度和挑战性。...制作过程 初始化游戏和设置窗口: 使用Pygame库初始化游戏并设置窗口像素。 加载图像: 加载了玩家飞机、敌机和子弹的图像,并对它们进行了缩放以适应游戏界面。...退出游戏: 当用户点击窗口关闭按钮退出游戏并关闭Pygame。 以上就是飞机大战游戏的基本逻辑。玩家可以通过上下左右键控制飞机移动,按空格键发射子弹。子弹击中敌机时,敌机将被销毁并重新生成。...() # 退出游戏 pygame.quit() sys.exit() 运行 进一步功能优化 import subprocess # import pygame import random import

    45243

    Python | Time Marker时间标签(附详细注释)

    ,这个程序完成的功能是这样的: 启动——>显示时间——>按下空格键——>记录时间——>手动关闭窗口 时间显示使用的是Pygame提供的图形库 监听键盘使用的也是Pygame提供的功能 至于记录时间,仅仅是简单的文件操作...而手动关闭窗口,可以使用ESC或者点右上角的X 三、完整代码(附详细注释) import pygame from pygame.locals import * from datetime import...# repeating loop while True : # 监听键盘 和退出 for event in pygame.event.get(): if event.type...() screen.fill((0,0,0)) 四、代码评价 一直强调一个软件的关键在于你想让它做什么,比如用文件操作可以写一个清单软件,比如Pygame是用来开发2d游戏的,但是它提供了很丰富的功能...,用来监听键盘,用来做一个时钟,或者是计时器都是不错的选择。

    83210

    Python游戏工具包---Pygame最常用的15个模块详解(附pdf版本)

    ,那么当用户调整窗口尺寸pygame.VIDEORESIZE 事件会被发送;硬件显示指接收到 pygame.VIDEOEXPOSE 事件,将部分需要被重绘的窗口直接绘制到屏幕上。...一些显示环境拥有自动拉伸所有窗口的选项。该选项被启动,自动拉伸会扭曲 Pygame 窗口的外观。...主程序退出,该函数也会被自动调用。 多次调用该函数并没有任何问题,但也不会有什么效果。 pygame.display.get_init() 如果 display 模块已经初始化,返回 True。...一些操作系统不允许修改显示中的窗口图标。对于这类操作系统,该函数需要再调用 pygame.display.set_mode() 前先创建并设置图标。...函数详解pygame.key.get_focused()窗口获得键盘的输入焦点返回 True。

    16.2K55

    实践是最好的老师:给中级 Python 开发人员的 13 个项目构想

    你可以让它给出响应或负响应,例如查询字符串有效,查询字符串无效,实现绿色的响应和红色的负响应。...查询字符串不匹配,re 库将返回 none,查询字符串匹配,它将返回匹配的字符串。 有些用户可能无法完全理解 Regex,你可以制作一个页面来解释 Regex 的工作原理。...如果没有播放器,你将无法收听音频文件的内容。 这就是 MP3 播放器的用武之地。MP3 播放器是播放 MP3 和其他数字音频文件的设备。...这个 MP3 播放器图形用户界面项目的想法试图模拟物理 MP3 播放器。你可以构建可以在台式机或笔记本电脑上播放 MP3 文件的软件。...完成 MP3 播放器项目的构建后,用户可以播放 MP3 文件和其他数字音频文件,而无需购买物理 MP3 播放器。他们可以用电脑播放 MP3 文件。

    1.1K10

    用 Python 实现打飞机,让子弹飞吧!

    技术实现 初始化 pygame 首先要初始化 pygame ,之后设定一些基本的要点,比如窗口大小(尽量避免魔法数字),窗口标题以及背景图像。...pygame 通过加载图片,最后返回一个 surface 对象,我们不需要关系图片的格式。但是通过 convert() 这个函数,会使我们的图片转换效率提高。 默认图片左上角为原点 (0,0)。...所以还需要写个退出。 显示飞机 首先我们要初始化我们的主角飞机 仍旧需要加载我们需要的资源,我们的资源文件里已经准备好各种各样的飞机,但是他们都在一张切图上。...执行结果 玩家被击中的时候,在显示一张 GameOver 图片提示 做到这里基本算是实现了飞机大战.但是还有很多细节处理。...细节处理 精细的碰撞检测 从图上看,敌机看似还没有和我们接触,但是已经 GameOver 了。

    1.8K31

    如何在Python 3中安装pygame并创建用于开发游戏的模板

    没有服务器的同学可以在这里购买,不过个人更推荐您使用免费的腾讯云开发者实验室进行试验,学会安装后再购买服务器。...您需要修改程序时,这更简单,因为您只需要修改传递给变量的内容。...在考虑动画,您可能会想到一本翻书,因为它们包含一系列从一页到下一页逐渐变化的图像。页面内容看起来处于运动状态,这些页面可以快速翻动模拟运动。在计算机游戏中,使用帧而不是页面。...,让我们运行程序: python our_game.py 当我们运行该文件,将弹出一个800x600的窗口。...() quit() 我们添加了布尔逻辑运算符,以便程序可以在用户单击游戏窗口上角的“X”退出,或者如果用户按下了一个键,即退出键或Q键(注意这不区分大小写)。

    22.7K21

    自学Python两天,200行代码实现B站UP主小助手。已全部开源

    1不熟,但是的规划里,并不需要一些标准化的UI组件。...def run_game(): # 初始化pygame引擎 pygame.init() # 设置pygame窗口大小,如果设置为0,0则自动识别分辨率,相当于窗口最大化 screen = pygame.display.set_mode...的退出,触发sys.exit退出应用 if event.type == pygame.QUIT: sys.exit() # 清空屏幕 screen.fill(BG_COLOR)...但对于已经有其他语言开发经验的来说,也花了好一阵子才适应它的语法。 pygame加载字体显示文字 # 220是字号 my_font = pygame.font.Font("....比如在本例中,如果直接使用requests发起请求,那么在请求pygame的主逻辑循环就被卡住,这肯定不是所希望的。

    1.5K30

    Python助你抢红包

    在使用红包助手的时候发现一个缺点:屏蔽的群,发红包不提醒。作为爱折腾的,今天就针对红包助手进行了优化,写了一个Python脚本助你抢红包,完美了解决了屏蔽的群,发红包不提醒的弊端。...通知消息类型中有"收到红包"字样,就可以表明有好友在发红包,这时候电脑会发出提示音提醒你去抢红包。用到的模块:itchat和pygame,代码量在30行左右。...具体实现 声音提醒 '''声音提示''' def voice (): pygame.mixer.init() pygame.mixer.music.load('voice .mp3')...init进行初始化,load加载声音文件,play播放声音。...getNoteGroup(msg): if u'收到红包' in msg['Text']: print('[INFO]: %s' % msg['Text']) voice() 通知消息中包含收到红包

    1.9K30

    网页添加背景音乐

    如果要顾及到网速较低的浏览者,则可以使用MID音效作为网页的背景音乐,因为MID音乐文件小,这样在网页打开的过程中能很快加载并播放,但是MID也有不足的地方,它只能存放音乐的旋律,没有好听的和声以及唱词...(二)使用标签 使用标签来添加音乐的方法并不是很常见,但是它的功能非常强大,如果结合一些播放控件就可以打造出一个Web播放器。...其中autostart用来设置打开页面音乐是否自动播放,而hidden设置是否隐藏媒体播放器。...对于这两种方法,笔者认为二者之间都各有优缺点:第一种方法页面打开音乐播放,如果将页面最小化以后播放音乐会自动暂停,如果使用第二种方法则不会出现这种情况,只要不将窗口关闭,它会一直播放。...如果要顾及到网速较低的浏览者,则可以使用MID音效作为网页的背景音乐,因为MID音乐文件小,这样在网页打开的过程中能很快加载并播放,但是MID也有不足的地方,它只能存放音乐的旋律,没有好听的和声以及唱词

    1.9K20
    领券