威县企业做网站,公司怎么做网站,宿州网站建设推广,小程序开发教程知乎前言
基础模块的知识通过这么长时间的学习已经有所了解#xff0c;更加深入的话需要通过完成各种项目#xff0c;在这个过程中逐渐学习#xff0c;成长。
我们的下一步目标是完成python crash course中的外星人入侵项目#xff0c;这是一个2D游戏项目。在这之前#xff…前言
基础模块的知识通过这么长时间的学习已经有所了解更加深入的话需要通过完成各种项目在这个过程中逐渐学习成长。
我们的下一步目标是完成python crash course中的外星人入侵项目这是一个2D游戏项目。在这之前我们先简单学习一下pygame模块。
私信我发送消息python资料领取python crash course中文版PDF。
pygame
Pygame是一个开源的Python多媒体开发库专门用于开发2D游戏。它是Python编程语言的一个扩展基于 SDL (Simple DirectMedia Layer) 库提供了丰富的功能来处理图形、声音、事件处理等游戏开发所需的基本要素使得创建游戏变得更加简单直接。
音频
游戏中必不可少的就是游戏的BGM了有的游戏对话的时候除了文字甚至还有对话内容的语音。这些音频的功能pygame当然也是提供的。
在pygame中提供音频功能的模块主要有两个pygame.mixer 和 pygame.sndarray 。接下来我们就对这两个模块进行学习。
pygame.mixer
pygame.mixer 模块是 Pygame 中用于处理音频的部分它主要分为两个子模块Sound 和 Music。
需要注意Pygame 默认支持 .wav 和 .ogg 格式。对于 .mp3 或其他格式你可能需要额外的解码器。
文章上方提供一个.wav格式的文件可以直接使用后续有空出个教程安装解码器可以播放MP3文件。
资源寻找的话我是在wav吧通过百度网盘下载的当然大家也可以百度查询一下其他资源获取方式也没关系。
pygame.mixer.Sound
pygame.mixer.Sound 类用于处理短音频片段比如游戏中的音效。 创建一个sound对象。 pygame.mixer.Sound(fileNone, bufferNone) 参数: file: 字符串指定音频文件的路径。buffer: 字节对象包含音频数据的缓冲区。 返回值sound对象
import pygamepygame.init()
pygame.mixer.init()# 没啥用的窗口,单纯为了关闭窗口退出音乐播放
screen pygame.display.set_mode((1200, 800))# 创建 Sound 对象
sound_effect pygame.mixer.Sound(叶倩文 - 情人知己.wav)
sound_effect.play()# 点击关闭退出程序,这个后面再讲,代码可以先写上。
while True:for event in pygame.event.get():if event.type pygame.QUIT:pygame.quit()exit()文件执行马上就能听到情人知己这首经典粤语歌曲了
还有几个函数也讲一下但是这里不进行单独的示例因为其他函数的功能可能要学会了输入以后通过按键的方式来进行会体验好一点。 play(loops0, maxtime0, fade_ms0): 播放声音。学会按键输入和事件监听以后可以通过空格来控制音乐播放和暂停。 loops: 整数循环次数默认不循环。maxtime: 整数最大播放时间单位毫秒。fade_ms: 整数淡入时间单位毫秒。 stop(): 停止播放声音。学会按键输入和事件监听以后可以通过空格来控制音乐播放和暂停。 fadeout(time) 在指定时间内淡出声音。 time: 整数淡出时间单位毫秒。 set_volume(value): 设置音量。学会按键输入和事件监听以后可以通过上下按钮来控制音量的加减。 value: 浮点数音量值范围0.0 到 1.0。 get_num_channels(): 返回声音对象使用的通道数。 get_volume(): 获取音量。 get_length(): 返回声音的长度单位秒。
pygame.mixer.music
用于处理背景音乐通常可以播放较长的音频文件。
load(filename): 加载音乐文件。 filename: 字符串音乐文件的路径。
和sound不一样sound可以显式的进行使用music没有返回对象可以简单理解为设置的默认音频对象。
import pygamepygame.init()
pygame.mixer.init()# 没啥用的窗口,单纯为了关闭窗口退出音乐播放
screen pygame.display.set_mode((1200, 800))# 加载音乐
pygame.mixer.music.load(叶倩文 - 情人知己.wav)
# 循环播放
pygame.mixer.music.play(loops-1) # 循环播放# 点击关闭退出程序,这个后面再讲,代码可以先写上。
while True:for event in pygame.event.get():if event.type pygame.QUIT:pygame.quit()exit()执行上述代码同样发现电脑会进行情人知己的播放根据设置的参数大家耐心听完会循环进行播放。
除了加载和播放的函数music还提供了一些其他函数用于实现音频的暂停停止继续播放等功能。
当然这些功能还是要在学会输入和监听事件后配合使用体验效果会好点。
play(loops0, start0.0): 开始播放音乐。 loops: 整数循环次数默认不循环。start: 浮点数开始播放的位置单位秒。 stop(): 停止播放音乐。pause(): 暂停播放音乐。unpause(): 继续播放音乐。fadeout(time) 在指定时间内淡出音乐。 time: 整数淡出时间单位毫秒。 set_volume(value): 设置音量。 value: 浮点数音量值范围0.0 到 1.0。 get_volume(): 获取音量。queue(song, loops0, start0.0): 将一首歌加入队列当前歌曲结束后播放。 song: 字符串音乐文件的路径。loops: 整数循环次数默认不循环。start: 浮点数开始播放的位置单位秒。
queue函数可以单独试验一下。
import pygamepygame.init()
pygame.mixer.init()# 没啥用的窗口,单纯为了关闭窗口退出音乐播放
screen pygame.display.set_mode((1200, 800))# 加载音乐
pygame.mixer.music.load(叶倩文 - 情人知己.wav)
# 加入队列
pygame.mixer.music.queue(容祖儿-小小.wav)
# 循环播放
pygame.mixer.music.play() # 循环播放# 点击关闭退出程序,这个后面再讲,代码可以先写上。
while True:for event in pygame.event.get():if event.type pygame.QUIT:pygame.quit()exit()耐心听完情人知己后台播放出了小小这首歌曲。
怎么样是不是有点音乐播放器的感觉了。
Python的魅力不仅于此哦
结尾
关于音频的学习就先到这里主要介绍一下怎么使用pygame播放音频文件后续学习了输入和事件监听就可以尝试进行切歌暂停继续播放加减音量等功能编写了。
作业
使用两种方式播放你喜欢的歌曲。资源不会找的话就播放我提供的两首歌曲吧