在Pygame中,通过mixer模块以及该模块中的music模块实现播放音频的功能。
1 mixer模块与music模块简介
mixer模块包含了用于导入与播放音频的类,而mixer模块中的music模块可以直接将音频文件导入到内存中用于播放。
2 mixer模块与music模块的使用
2.1 模块的初始化
在使用mixer模块与music模块之前,必须对其进行初始化,代码如图1所示。
图1 mixer模块的初始化
从图1中可以看出,通过mixer模块的init()方法实现初始化功能。
2.2 音频文件的开始播放
音频文件的播放分为两个步骤:一是文件导入到内存中,读取内存中的数据进行播放。
2.2.1 文件的导入
通过music模块的load()方法可以将音频文件导入到内存中,代码如图2所示。
图2 音频文件的导入
其中,load()方法的参数即为要播放的音频文件。
2.2.2 文件的播放
通过music模块的play()方法可以播放导入到内存中的音频文件,代码如图3所示。
图3 音频文件的播放
注意1 将图2和图3所示的代码写入到名为play()的自定义函数中。
2.3 音频文件的停止播放
可以通过music模块的stop()方法停止正在播放的音频,通过unload()方法释放导入到内存中的数据。代码如图4所示。
图4 音频文件的停止播放
从图4可以看出,将停止播放音频文件的代码写入到自定义函数stop()中。
3 创建音频播放软件
通过《Python中tkiner编程入门4》中提到的为按键添加事件处理器的方法,添加两个按键,分别用来实现播放音频和停止播放,代码如图5所示。
图5 按键的事件处理器
其中,play()和stop()两个处理器即为之前自定义的函数。代码运行的效果如图6所示。
图6 音频播放软件界面
当点击“开始播放”按键后,音频文件开始播放,点击“停止播放”按键后,音频会停止播放。
4 程序完整代码
音频播放软件的完整代码如图7所示。
图7 音频播放软件的完整代码