版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
音频处理设备初始化1音频的控制2管理声音3制作mini音乐播放器4设备初始化设备初始化在Pygame中,使用pygame.mixer子模块对音频进行管理。具体使用时,首先应该确保当前的计算机存在音频输出设备,并使用pygame.mixer.init()函数对音频设备进行初始化,如果不存在音频输出设备,则系统会提示DirectSoundCreate:Noaudiodevicefound(设备未找到)错误。init(frequency=22050,size=-16,channels=2,buffer=4096)->None设备初始化pre_init(frequency=22050,size=-16,channels=2,buffersize=4096)->Nonepygame.mixer.pre_init()函数importpygame#导入pygame模块#初始化音频设备pygame.mixer.pre_init(44100,16,2,5120)pygame.init()#初始化pygame举例音频的控制加载音频文件1控制音频流2加载音频文件pygame.mixer.music模块pygame.mixer_music模块load()函数pygame.mixer.music.load(filename)->Nonepygame.mixer_music.load(filename)->None加载音频文件pygame.mixer.music.load("pygame.ogg")举例#打开一个文件,并将其作为音乐文件加载到pygame中file_obj=open("pygame.ogg","r")#加载音乐文件pygame.mixer_music.load(file_obj)控制音频流当一个音频文件被加载后,接下来就可以通过pygame.mixer_music子模块中提供的各种方法来控制该音频流,比如音量的控制、音频的播放与暂停、设置播放位置、停止播放音频等。控制音频流——设置与获取音量set_volume()函数get_volume()函数pygame.mixer_music.set_volume(value)->Nonepygame.mixer_music.get_volume()->valuepygame.mixer_music模块控制音频流——设置与获取音量pygame.mixer.music.load("preview.ogg")#加载音乐文件pygame.mixer_music.set_volume(0.5)#设置音量value=pygame.mixer_music.get_volume()#获取音量print("value(0.5)={}".format(value))#打印音量pygame.mixer_music.set_volume(-0.1)#设置音量value_01=pygame.mixer_music.get_volume()#获取音量print("value_01(-0.1)={}".format(value_01))#打印音量pygame.mixer_music.set_volume(0.6)#设置音量value_02=pygame.mixer_music.get_volume()#获取音量print("value_02(0.6)={}".format(value_02))#打印音量pygame.mixer_music.set_volume(0)#设置音量value_03=pygame.mixer_music.get_volume()#获取音量print("value_03(0)={}".format(value_03))#打印音量pygame.mixer_music.set_volume(1)#设置音量value_04=pygame.mixer_music.get_volume()#获取音量print("value_04(1)={}".format(value_04))#打印音量pygame.mixer_music.set_volume(10)#设置音量value_05=pygame.mixer_music.get_volume()#获取音量print("value_05(10)={}".format(value_05)) #打印音量举例value(0.5)=0.5value_01(-0.1)=0.5value_02(0.6)=0.59375value_03(0)=0.0value_04(1)=1.0value_05(10)=1.0控制音频流——音频的播放与暂停play()函数pygame.mixer_music模块pygame.mixer_music.play(loops=0,start=0.0)->NoneNotImplementedError控制音频流——音频的播放与暂停stop()函数pygame.mixer_music模块pygame.mixer_music.stop()->Nonepause()函数unpause()函数rewind()函数pygame.mixer_music.pause()->Nonepygame.mixer_music.unpause()->Nonepygame.mixer_music.rewind()->Nonefadeout()函数pygame.mixer_music.fadeout(time)->None控制音频流——音频的播放与暂停开发一个播放音频的程序,首先加载一个音频文件,然后监听键盘事件,根据不同的按键分别对加载的音频流实现不同的操作。控制音频流——设置与获取播放的位置set_pos()函数get_pos()函数pygame.mixer_music.set_pos(time)->Nonepygame.mixer_music.get_pos()->timepygame.mixer_music模块pygame.errorSDLError控制音频流——设置与获取播放的位置编写一个Pygame程序,可以对音频进行开始播放、暂停播放、继续播放操作,同时,可以按下控制键调用pygame.mixer_music模块中的set_pos()函数和get_pos()函数设置和查看播放位置。控制音频流——发送与接收结束类型事件set_endevent()函数pygame.mixer_music模块pygame.mixer_music.set_endevent(type)->None控制音频流——发送与接收结束类型事件下面编写一个Pygame程序,通过自定义并接收播放结束信号,实现自动切换音频的功能。首先定义一个要播放的音频列表,通过pygame.mixer_music模块的load()函数加载音频列表中的第一个音频;然后通过设置音频播放结束类型事件,实现在当前音频播放结束时自动切换音频并进行续播的功能。其中,切换音频的方式有两种:按顺序切换和随机切换,主要通过监听按键的方式实现。管理音频Sound对象1Channel对象2Sound对象pygame.mixer_musicSound对象采用流式载入播放方式长时间的单声音播放时多个音频之间频繁切换Sound对象#通过音频文件创建pygame.mixer.Sound(filename)->Soundpygame.mixer.Sound(file=filename)->Sound#通过可读的缓冲区对象创建pygame.mixer.Sound(buffer)->Soundpygame.mixer.Sound(buffer=filename)->Sound#通过文件句柄创建pygame.mixer.Sound(object)->Soundpygame.mixer.Sound(file=object)->SoundWAVOGGSound对象sou_01=pygame.mixer.Sound("pygame.ogg")#加载音频文件obj=open("pygame.ogg","r")#打开文件sou_02=pygame.mixer.Sound(obj)#从文件对象中加载音频文件pygame.mixer.Sound().play(loops=0,maxtime=0,fade_ms=0)->ChannelSound对象函数说明play()播放音频stop()停止音频播放fadeout()淡出音频,可接受一个数字(毫秒)作为淡出时间set_volume()设置此音频的播放音量get_volume()获取播放音量get_num_channels()计算此音频播放的次数get_length()获取音频时长(秒为单位)get_raw()返回字节缓冲区副本Sound对象编写一个Pygame程序,其中通过Sound对象实现对音频的播放操作,包括对音频进行开始播放、暂停播放、继续播放、对音量的控制,以及在开始播放时添加了一个淡入的效果。Channel对象pygame.mixer.Channel(id)->Channelpygame.mixer.get_num_channels()函数pygame.mixer.set_num_channels()函数Channel对象参数值说明stop()停止在通道上的播放pause()暂时停止音频的播放unpause()恢复音频的播放get_busy()检查通道是否处于活跃状态,即是否正在播放fadeout()淡出音频播放,可接受一个数字(毫秒)作为淡出时间set_volume()设置通道音量get_volume()获取通道音量get_sound()获取此通道上实际播放的Sound对象get_endevent()获取播放结束类型事件set_endevent()设置播放结束事件类型get_queue获取音频队列中的Sound对象,没有则为Nonequeue()添加Sound对象进入音频队列Channel对象pygame.mixer.Channel().play(Sound,loops=0,maxtime=0,fade_ms=0)->Noneimportpygame#导入pygame模块pygame.init()#初始化pygamescreen=pygame.display.set_mode((640,396))#创建窗口pygame.mixer.set_num_channels(6)#提前设置6个通道sou_obj=pygame.mixer.Sound("pygame.ogg")#创建Sound对象#获取第3个声道的对象,从0开始chann_obj=pygame.mixer.Channel(2)#开始播放,指定要播放哪个Sound对象chann_obj.play(sou_obj,1,fade_ms=3000)while1:pass#此处代码省略举例#自动在0到6(不包括6)之间选择一个声道进行播放chan_obj=sou_obj.play(1,fade_ms=3000)Channel对象——左右声道音量的控制pygame.mixer.Channel().set_volume(value)->Nonepygame.mixer.Channel().set_volume(left,right)->None编写一个Pygame程序,通过Channel对象无限循环播放一个音频文件,然后使用set_volume()函数对正在播放的音频文件的音量进行控制。Channel对象——左右声道音量的控制Channel对象——音频队列queue()函数queue(Sound)->Noneget_queue()->Soundget_queue()函数Channel对象——音频队列importpygame#导入pygame模块#创建一个列表,存放音频文件名AUDIO_LI=["dance.ogg","airplane.ogg","game_snd.ogg"]AUDIO_INDEX=-1#音频文件索引"""创建Sound对象,并返回"""defget_sonnd():globalAUDIO_INDEX#音频文件索引
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 深度解析(2026)《FZT 42016-2025机制蚕丝生绵片》
- 统编人教版六年级语文下册古诗三首《石灰吟》示范公开课教学课件
- 深度解析(2026)《FZT 01030-2016针织物和弹性机织物 接缝强力和扩张度的测定 顶破法》 - 副本
- 《JBT 8473-2014仪表阀组》专题研究报告
- 《JBT 8468-2014锻钢件磁粉检测》专题研究报告
- 2026年荆州市沙市区社区工作者招聘笔试模拟试题及答案解析
- 2026年马鞍山市雨山区社区工作者招聘考试参考题库及答案解析
- 人美版八年级下册1.绘画的多元化教案设计
- 2026年鸡西市鸡冠区社区工作者招聘考试参考试题及答案解析
- 2026年山东省菏泽市社区工作者招聘笔试参考题库及答案解析
- 挑战杯项目创业计划书
- 四川农村2025年新建房屋包工包料合同
- 冷库维护保养协议书
- 洁净手术室的建设与管理
- 质量管控重点和管控方法
- 智联招聘个人综合能力测试题
- 2025年大学公安情报学专业题库- 情报分析方法与技术
- 红楼梦大观园教学课件
- 2025甘肃张掖山丹县公安局招聘留置看护警务辅助人员40人笔试参考题库附答案解析
- 复旦大学留学生数学试卷
- 2025年高考语文真题新课标Ⅱ卷阅读二文本细读
评论
0/150
提交评论