用 Sound 对象制作一个音效播放器。
应用程序总览
程序在执行后默认会把 WAV 音频文件加载到清单中,单击“播放”按钮可开始
播放,同时显示 “正在播放 xxx 音效”的信息 。
播放过程中,可以通过单击“上一首”“下一首”按钮播放列表中的上一首或下
一首音效;单击“停止播放”按钮可停止播放:单击“结束”按钮则可结束应用程
序井结束音效播放。
def menu(status):
os.system("cls")
print("wav 播放器 {}".format(status))
print("--------------------------------------")
print("1. 播 放")
print("2. 上一首")
print("3. 下一首")
print("4. 停止播放")
print("0. 结束程序")
print("--------------------------------------") def playwav(song):
global status,sound
sound = mixer.Sound(wavfiles[index])
sound.play(loops = 0)
status="正在播放 {}".format(wavfiles[index]) def playNewwav(song):
global status,sound
sound.stop()
sound = mixer.Sound(wavfiles[index])
sound.play(loops = 0)
status="正在播放 {}".format(wavfiles[index]) ### 主程序从这里开始 ### from pygame import mixer
import glob,os
mixer.init() source_dir = "F:\\pythonBase\\pythonex\\ch13\\wav\\"
wavfiles = glob.glob(source_dir+"*.wav")
index=0
status=""
sound = mixer.Sound(wavfiles[index]) while True:
menu(status)
choice = int(input("请输入您的选择:"))
if choice==1:
playwav(wavfiles[index])
elif choice==2:
index +=1
if index==len(wavfiles):
index=0
playNewwav(wavfiles[index])
elif choice==3:
index -=1
if index<0:
index=len(wavfiles)-1
playNewwav(wavfiles[index])
elif choice==4:
sound.stop()
status="停止播放"
else:
break sound.stop()
print("程序执行完毕!")

音乐播放
music 对象
music 除了可播放 OGG 和 WAV 文件外,还可以播放 MP3 文件。 它比较适合播放
较长的音乐,可以调整音乐播放的位置,并且可以暂停播放, 其功能较 Sound 对象强大。
mixer 的 music 对象提供下列方法 :

例如:播放 mario.mp3 歌曲 一次。 
from pygame import mixer

mixer.init()
mixer.music.load('F:\\pythonBase\\pythonex\\ch13\\mp3\\mario.mp3')
mixer.music.play()

吴裕雄--天生自然python学习笔记:python 用pygame模块制作一个音效播放器的更多相关文章

  1. 吴裕雄--天生自然HADOOP学习笔记:hadoop集群实现PageRank算法实验报告

    实验课程名称:大数据处理技术 实验项目名称:hadoop集群实现PageRank算法 实验类型:综合性 实验日期:2018年 6 月4日-6月14日 学生姓名 吴裕雄 学号 15210120331 班 ...

  2. 吴裕雄--天生自然MySQL学习笔记:MySQL UPDATE 更新

    如果需要修改或更新 MySQL 中的数据,我们可以使用 SQL UPDATE 命令来操作. 语法 以下是 UPDATE 命令修改 MySQL 数据表数据的通用 SQL 语法: UPDATE table ...

  3. 吴裕雄--天生自然MySQL学习笔记:MySQL 插入数据

    MySQL 表中使用 INSERT INTO SQL语句来插入数据. 可以通过 mysql> 命令提示窗口中向数据表中插入数据,或者通过PHP脚本来插入数据. 以下为向MySQL数据表插入数据通 ...

  4. 吴裕雄--天生自然MySQL学习笔记:MySQL简介

    MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用 ...

  5. 吴裕雄--天生自然 oracle学习笔记:oracle理论学习详解及各种简单操作例子

    1. 数据库的发展过程 层次模型 -->网状模型 -->关系模型 -->对象关系模型 2. 关于数据库的概念 DB:数据库(存储信息的仓库) DBMS:数据库管理系统(用于管理数据库 ...

  6. 吴裕雄--天生自然HADOOP学习笔记:基本环境配置

    实验目的 学习安装Java 学习配置环境变量 学习设置免密码登陆的方法 掌握Linux环境下时间同步的配置 实验原理 1.Java的安装 java是大数据的黄金语言,这和java跨平台的特性是密不可分 ...

  7. 吴裕雄--天生自然HADOOP学习笔记:使用yum安装更新软件

    实验目的 了解yum的原理及配置 学习软件的更新与安装 学习源代码编译安装 实验原理 1.编译安装 前面我们讲到了安装软件的方式,因为linux是开放源码的,我们可以直接获得源码,自己编译安装.例如: ...

  8. 吴裕雄--天生自然HADOOP学习笔记:Shell工具使用

    实验目的 学习使用xshell工具连接Linux服务器 在连上的服务器中进入用户目录 熟悉简单的文件操作命令 实验原理 熟悉shell命令是熟悉使用linux环境进行开发的第一步,我们在linux的交 ...

  9. 吴裕雄--天生自然HTML学习笔记:HTML 布局

    网页布局对改善网站的外观非常重要. 请慎重设计您的网页布局. <!DOCTYPE html> <html> <head>  <meta charset=&qu ...

随机推荐

  1. 一天一个设计模式——Builder建造者模式

    一.模式说明 在现实世界中,当我们要构造一个大型工程时(建一个大楼),通常的做法是先建造工程的每个独立部分,然后再逐步构造完成(先打地基,再搭框架,最后逐层累造).在程序设计领域,构造一个复杂的类时( ...

  2. 1811 06 pygame 的继续开发

    早上看了  高数和python   好像系统没有保存  桑心啊 关于游戏背景的制作 游戏背景就是    背景在移动  而主人物还在原位置的    常常用于跑酷游戏类  背景开始绘制两张图像  一张完全 ...

  3. linux的vi编辑器中如何查找内容(关键字)

    按下”/“键,这时在状态栏(也就是屏幕左下脚)就出现了 “/” 然后输入你要查找的关键字敲回车就可以了. 找到相关文字以后: (1)按下小写n,向下查找 (2)按下大写N,向上查找

  4. Java线程——线程习题(二)生成者消费者

    生产者消费者问题是线程模型中的经典问题:生产者和消费者在同一时间段内共用同一存储空间,生产者向空间里生产数据,而消费者取走数据. 这里实现如下情况的生产--消费模型: 生产者不断交替地生产两组数据“姓 ...

  5. [Typora ] LaTeX公式输入

    [Typora 笔记] 数学输入整理 1.希腊字母表 大写 md 小写 md \(A\) A \(\alpha\) \alpha \(B\) B \(\beta\) \beta \(\Gamma\) ...

  6. Python模块——hashlib

    简介 hashlib模块是用于对字符串进行加密,其可以把任意长度的数据转换为一个长度固定的数据串,且这种加密是不可逆的,故这种加密方式的安全性都很高.hash本质是一个函数,该模块提供了许多不同的加密 ...

  7. Linux文件共享的实现方式

    前两天跟老师去北京开了一个会议,好久没学习了,今天才回学校,其中的辛酸就不说了.来正文: 1.什么是文件共享 (1).文件共享就是同一个文件(同一个文件指的是同一个inode,同一个pathname) ...

  8. C++之namespace、bool

    namespace: 1.namespace:标识符的各种可见范围.C++ 标准程序库中的所有标识符都被定义在一个名为  std 的namespace中. 2.当使用<iostream>的 ...

  9. #JS# 如何判断一个字符串是否为日期格式

    var data = “2018-12-09”; //返回为false则是日期格式;isNaN(data)排除data为纯数字的情况(此处不考虑只有年份的日期,如‘2018’) if(isNaN(da ...

  10. Java常见异常说明汇总

    1. java.lang.nullpointerexception 这个异常大家肯定都经常遇到,异常的解释是"程序遇上了空指针",简单地说就是调用了未经初始化的对象或者是不存在的对 ...