吴裕雄--天生自然python学习笔记:python 用pygame模块制作一个音效播放器
用 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模块制作一个音效播放器的更多相关文章
- 吴裕雄--天生自然HADOOP学习笔记:hadoop集群实现PageRank算法实验报告
实验课程名称:大数据处理技术 实验项目名称:hadoop集群实现PageRank算法 实验类型:综合性 实验日期:2018年 6 月4日-6月14日 学生姓名 吴裕雄 学号 15210120331 班 ...
- 吴裕雄--天生自然MySQL学习笔记:MySQL UPDATE 更新
如果需要修改或更新 MySQL 中的数据,我们可以使用 SQL UPDATE 命令来操作. 语法 以下是 UPDATE 命令修改 MySQL 数据表数据的通用 SQL 语法: UPDATE table ...
- 吴裕雄--天生自然MySQL学习笔记:MySQL 插入数据
MySQL 表中使用 INSERT INTO SQL语句来插入数据. 可以通过 mysql> 命令提示窗口中向数据表中插入数据,或者通过PHP脚本来插入数据. 以下为向MySQL数据表插入数据通 ...
- 吴裕雄--天生自然MySQL学习笔记:MySQL简介
MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用 ...
- 吴裕雄--天生自然 oracle学习笔记:oracle理论学习详解及各种简单操作例子
1. 数据库的发展过程 层次模型 -->网状模型 -->关系模型 -->对象关系模型 2. 关于数据库的概念 DB:数据库(存储信息的仓库) DBMS:数据库管理系统(用于管理数据库 ...
- 吴裕雄--天生自然HADOOP学习笔记:基本环境配置
实验目的 学习安装Java 学习配置环境变量 学习设置免密码登陆的方法 掌握Linux环境下时间同步的配置 实验原理 1.Java的安装 java是大数据的黄金语言,这和java跨平台的特性是密不可分 ...
- 吴裕雄--天生自然HADOOP学习笔记:使用yum安装更新软件
实验目的 了解yum的原理及配置 学习软件的更新与安装 学习源代码编译安装 实验原理 1.编译安装 前面我们讲到了安装软件的方式,因为linux是开放源码的,我们可以直接获得源码,自己编译安装.例如: ...
- 吴裕雄--天生自然HADOOP学习笔记:Shell工具使用
实验目的 学习使用xshell工具连接Linux服务器 在连上的服务器中进入用户目录 熟悉简单的文件操作命令 实验原理 熟悉shell命令是熟悉使用linux环境进行开发的第一步,我们在linux的交 ...
- 吴裕雄--天生自然HTML学习笔记:HTML 布局
网页布局对改善网站的外观非常重要. 请慎重设计您的网页布局. <!DOCTYPE html> <html> <head> <meta charset=&qu ...
随机推荐
- 201771010123汪慧和《面向对象程序设计Java》第十二周实验总结
一.理论部分 1.在Java提供的GUI构建工具中可以分为组件和容器两类. 2.在Java中的组件有:按钮.标签.复选框.单选按钮.选择框.列表框.文本框.滚动条.画布.菜单. 3.在Java中的容器 ...
- 洛谷 P1968 美元汇率
题目传送门 解题思路: 一道很简单的DP AC代码: #include<iostream> #include<cstdio> using namespace std; int ...
- nodejs(10)express路由
后端路由 前端请求的URL地址,都要对应一个后端的处理函数,那么 这种URL地址到 处理函数之间的对应关系,就叫做后端路由: 在Express中,路由的主要职责 就是 把客户端的请求,分发到对应的处理 ...
- potplayer记住播放进度
(右键——选项)F5——播放——记忆视频播放位置
- Linux--shell 脚本免密码输入
参考:https://www.cnblogs.com/lixigang/articles/4849527.html #!/bin/bash ssb=" password=mysql data ...
- Dp(NOIp级)全解
2018年(你还真以为我会讲保卫王国2333 LuoguP5020 货币系统 这道题就相当于求{A}的线性基大小 证明: 反证法,设该解为B,那么B定能表示出{A}的线性基,即{A}的线性基中所有数都 ...
- Python 安装modules问题及import问题
>>>modules问题 在学习Python的数据可视化时,安装了matplotlib,在安装完成后还特意在终端测试了一下,结果显示能正常import 但是在sublime Text ...
- 3.react 基础 - JSX 语法
1.最基础的 JSX 语法 普通javaScript中 引入 标签 let html = '<h1>hello</h1>'; jsx语法 let JSX_html = < ...
- neo4jcypher基本语句
create (:患者)-[rl:likes]-> (dept:Dept ) ///////////////关系 (STARTNODE)MATCH (video1:YoutubeVideo1)- ...
- 命令行的操作——cd
初学命令行,总是提示找不到有关的文件,当时的我啥也不知道,最后就很惨,啥也找不到 后来就只好自己上网找资料了 以下博文改编自小佳的博客 在需要处理不同路径下的文件的时候,经常要在命令行模式下切换目录, ...