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内置函数bin() oct()等实现进制转换
Dec 30 Python
Python中join和split用法实例
Apr 14 Python
Python发送email的3种方法
Apr 28 Python
Django自定义用户认证示例详解
Mar 14 Python
使用python语言,比较两个字符串是否相同的实例
Jun 29 Python
Selenium元素的常用操作方法分析
Aug 10 Python
Python实现二维曲线拟合的方法
Dec 29 Python
python基于TCP实现的文件下载器功能案例
Dec 10 Python
Python爬虫爬取杭州24时温度并展示操作示例
Mar 27 Python
python3代码中实现加法重载的实例
Dec 03 Python
解决Pyinstaller打包软件失败的一个坑
Mar 04 Python
python双向链表实例详解
May 25 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
简单易用的计数器(数据库)
2006/10/09 PHP
mysql From_unixtime及UNIX_TIMESTAMP及DATE_FORMAT日期函数
2010/03/21 PHP
ThinkPHP实现跨模块调用操作方法概述
2014/06/20 PHP
thinkphp模板输出技巧汇总
2014/11/24 PHP
PHP7生产环境队列Beanstalkd用法详解
2020/05/19 PHP
js实现的跟随鼠标移动的时钟效果(中英文日期显示)
2011/01/17 Javascript
js输出阴历、阳历、年份、月份、周示例代码
2014/01/29 Javascript
浅谈javascript面向对象程序设计
2015/01/21 Javascript
浅谈JavaScript Math和Number对象
2015/01/26 Javascript
JQuery实现超链接鼠标提示效果的方法
2015/06/10 Javascript
使用javaScript动态加载Js文件和Css文件
2015/10/24 Javascript
Angular.js与node.js项目里用cookie校验账户登录详解
2017/02/22 Javascript
jquery操作select取值赋值与设置选中实例
2017/02/28 Javascript
Js实现中国公民身份证号码有效性验证实例代码
2017/05/03 Javascript
node链接mongodb数据库的方法详解【阿里云服务器环境ubuntu】
2019/03/07 Javascript
详解如何在Vue项目中导出Excel
2019/04/19 Javascript
vue+elementUI 复杂表单的验证、数据提交方案问题
2019/06/24 Javascript
electron-vue开发环境内存泄漏问题汇总
2019/10/10 Javascript
jquery将信息遍历到界面上实例代码
2020/01/21 jQuery
JavaScript设计模型Iterator实例解析
2020/01/22 Javascript
[02:48]DOTA2英雄基础教程 拉席克
2013/12/12 DOTA
[01:32]2014DOTA2西雅图邀请赛 CIS我们有信心进入正赛
2014/07/08 DOTA
python下如何查询CS反恐精英的服务器信息
2017/01/17 Python
Flask框架URL管理操作示例【基于@app.route】
2018/07/23 Python
PyQt5实现QLineEdit添加clicked信号的方法
2019/06/25 Python
Django forms表单 select下拉框的传值实例
2019/07/19 Python
pytorch载入预训练模型后,实现训练指定层
2020/01/06 Python
Python基于Dlib的人脸识别系统的实现
2020/02/26 Python
Keras—embedding嵌入层的用法详解
2020/06/10 Python
python pymysql库的常用操作
2020/10/16 Python
三分钟英语演讲稿
2014/04/24 职场文书
2014年安全员工作总结
2014/11/13 职场文书
工作会议简报
2015/07/20 职场文书
先进个人主要事迹范文
2015/11/04 职场文书
Java 关于String字符串原理上的问题
2022/04/07 Java/Android
zabbix 代理服务器的部署与 zabbix-snmp 监控问题
2022/07/15 Servers