python使用PyGame播放Midi和Mp3文件的方法


Posted in Python onApril 24, 2015

本文实例讲述了python使用PyGame播放Midi和Mp3文件的方法。分享给大家供大家参考。具体实现方法如下:

''' pg_midi_sound101.py
play midi music files (also mp3 files) using pygame
tested with Python273/331 and pygame192 by vegaseat
'''
import pygame as pg
def play_music(music_file):
  '''
  stream music with mixer.music module in blocking manner
  this will stream the sound from disk while playing
  '''
  clock = pg.time.Clock()
  try:
    pg.mixer.music.load(music_file)
    print("Music file {} loaded!".format(music_file))
  except pygame.error:
    print("File {} not found! {}".format(music_file, pg.get_error()))
    return
  pg.mixer.music.play()
  # check if playback has finished
  while pg.mixer.music.get_busy():
    clock.tick(30)
# pick a midi or MP3 music file you have in the working folder
# or give full pathname
music_file = "Latin.mid"
#music_file = "Drumtrack.mp3"
freq = 44100  # audio CD quality
bitsize = -16  # unsigned 16 bit
channels = 2  # 1 is mono, 2 is stereo
buffer = 2048  # number of samples (experiment to get right sound)
pg.mixer.init(freq, bitsize, channels, buffer)
# optional volume 0 to 1.0
pg.mixer.music.set_volume(0.8)
try:
  play_music(music_file)
except KeyboardInterrupt:
  # if user hits Ctrl/C then exit
  # (works only in console mode)
  pg.mixer.music.fadeout(1000)
  pg.mixer.music.stop()
  raise SystemExit

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
Python实现周期性抓取网页内容的方法
Nov 04 Python
在MAC上搭建python数据分析开发环境
Jan 26 Python
Python使用正则表达式过滤或替换HTML标签的方法详解
Sep 25 Python
利用Python进行数据可视化常见的9种方法!超实用!
Jul 11 Python
pytorch对可变长度序列的处理方法详解
Dec 08 Python
Django使用Channels实现WebSocket的方法
Jul 28 Python
python线程join方法原理解析
Feb 11 Python
Python生成并下载文件后端代码实例
Aug 31 Python
python利用faker库批量生成测试数据
Oct 15 Python
python中的对数log函数表示及用法
Dec 09 Python
django如何自定义manage.py管理命令
Apr 27 Python
python中pandas对多列进行分组统计的实现
Jun 18 Python
python使用PyGame绘制图像并保存为图片文件的方法
Apr 24 #Python
python使用PIL缩放网络图片并保存的方法
Apr 24 #Python
python使用Tkinter显示网络图片的方法
Apr 24 #Python
Python中最常用的操作列表的几种方法归纳
Apr 24 #Python
在Python中使用lambda高效操作列表的教程
Apr 24 #Python
使用Python的判断语句模拟三目运算
Apr 24 #Python
Python的字典和列表的使用中一些需要注意的地方
Apr 24 #Python
You might like
PHP 遍历文件实现代码
2011/05/04 PHP
php实现快速排序法函数代码
2012/08/27 PHP
PHP函数microtime()用法与说明
2013/12/04 PHP
PHP贪婪算法解决0-1背包问题实例分析
2015/03/23 PHP
2款PHP无限级分类实例代码
2015/11/11 PHP
PHP getallheaders无法获取自定义头(headers)的问题
2016/03/23 PHP
session 加入redis的实现代码
2016/07/15 PHP
php 读取输出其他文件的实现方法
2016/07/26 PHP
修改Laravel5.3中的路由文件与路径
2016/08/10 PHP
PHP实现的简单操作SQLite数据库类与用法示例
2017/06/19 PHP
php实现将二维关联数组转换成字符串的方法详解
2017/07/31 PHP
Linux下 php7安装redis的方法
2018/11/01 PHP
兼容主流浏览器的iframe自适应高度js脚本
2014/01/10 Javascript
jquery插件冲突(jquery.noconflict)解决方法分享
2014/03/20 Javascript
js获得网页背景色和字体色的方法
2014/03/21 Javascript
调用jQuery滑出效果时闪烁的解决方法
2014/03/27 Javascript
JavaScript实现的一个日期格式化函数分享
2014/12/06 Javascript
基于jQuery实现鼠标点击导航菜单水波动画效果附源码下载
2016/01/06 Javascript
深入浅析JavaScript的API设计原则
2016/06/14 Javascript
原生js实现秒表计时器功能
2017/02/16 Javascript
利用JS代码自动删除稿件的普通弹幕功能
2019/09/20 Javascript
简单说明Python中的装饰器的用法
2015/04/24 Python
python开发之文件操作用法实例
2015/11/13 Python
面向初学者的Python编辑器Mu
2018/10/08 Python
django配置连接数据库及原生sql语句的使用方法
2019/03/03 Python
使用pytorch实现可视化中间层的结果
2019/12/30 Python
python简单实现9宫格图片实例
2020/09/03 Python
Python requests HTTP验证登录实现流程
2020/11/05 Python
HTML5本地存储之Web Storage详解
2016/07/04 HTML / CSS
学校安全防火方案
2014/06/07 职场文书
自愿解除劳动合同协议书
2014/09/11 职场文书
对照检查剖析材料
2014/09/30 职场文书
《角的度量》教学反思
2016/02/18 职场文书
pandas:get_dummies()与pd.factorize()的用法及区别说明
2021/05/21 Python
MYSQL主从数据库同步备份配置的方法
2021/05/26 MySQL
CentOS7安装MySQL8的超级详细教程(无坑!)
2022/06/10 Servers