首页
学习
活动
专区
工具
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 播放器就完成了,快来试试吧!

90330

用Python和Pygame写游戏第1课

另外说一下,就产品而言,Pygame更致力于2D游戏的开发,也就是说,你可以用Pygame写一个植物大战僵尸,但是写一个魔兽世界则相当困难……请不要做出鄙夷的目光,底层的东西永远是相通的,而且对于新手而言...使用Pygame Pygame有很多的模块,下面是一张一览表: 模块名 功能 pygame.cdrom 访问光驱 pygame.cursors 加载光标 pygame.display 访问显示设备...类似的东西 pygame.key 读取键盘按键 pygame.mixer 声音 pygame.mouse 鼠标 pygame.movie 播放视频 pygame.music 播放音频 pygame.overlay...注意:代码中的注释我使用的是中文,如果执行报错,可以直接删除。 游戏中我已经为每一行写了注释,另外如果打算学习,强烈建议自己动手输入一遍而不是复制粘贴!...标志位 功能 FULLSCREEN 创建一个全屏窗口 DOUBLEBUF 创建一个“双缓冲”窗口,建议在HWSURFACE或者OPENGL时使用 HWSURFACE 创建一个硬件加速的窗口,必须和

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

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

    2.2K40

    Python点阵字玩转动态歌词

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

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

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

    4.3K10

    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() 我用的是《雪落下的声音》伴奏版,挺好听。

    52610

    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时怎么办

    49210

    如何在单个 Pygame 窗口中显示动态列表

    在一个 Pygame 窗口中显示动态列表,可以使用 Pygame 的文本渲染功能。动态列表指的是内容可以实时更新的列表,例如得分榜、任务列表等。下面我将通过实例来例举我的解决方案。...问题背景在 Pygame 中,我们希望模拟 n 皇后问题。我们使用回溯法来解决此问题,并且希望在每次迭代时在 Pygame 窗口中可视化棋盘。...然而,目前我们的程序在每次迭代时都会打开一个新的 Pygame 窗口,并且需要手动关闭每个窗口才能看到下一个结果。这使得可视化过程变得繁琐且不便于观察。...当有新状态可供显示时,我们更新棋盘并刷新窗口。这样,我们可以仅使用一个 Pygame 窗口来显示所有结果。...pygame.display.flip()​# 退出 Pygamepygame.quit()扩展功能滚动列表:如果列表项过多,可以加入滚动逻辑。

    11510

    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.3K30

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

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

    47342

    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游戏的,但是它提供了很丰富的功能...,用来监听键盘,用来做一个时钟,或者是计时器都是不错的选择。

    84210

    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.6K56

    实践是最好的老师:给中级 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键(注意这不区分大小写)。

    25.2K22

    自学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
    领券