Python中背景音乐
简介
一般游戏来说,声音主要分为两种,一种是背景音乐,一种是音效。
-
背景音乐就是时刻伴随着游戏存在的,往往就是重复播放的一首曲子或者歌曲
-
音效就是在某种条件下被触发产生的
Pygame 支持的声音格式十分有限,一般情况下我们使用 .ogg 的格式来做背景音乐,用无压缩的 .wvb 来作为音效
如果是拿到了一个 .mp3 格式,可以使用格式工厂这类的软件把它转为.ogg 或者 .wvb 格式
还需要注意的是music 模块虽然写了支持 .mp3 格式,但是它对 .mp3 格式的支持十分有限,经常你会在网上找到一段很好的 .mp3 的曲子,但是载入之后压根没有声音。你把它转为 .ogg 格式就可以很好的支持了。
声音和音效
1️⃣音效
使用:pygame.mixer.Sound("音乐路径")
播放音效我们使用 mixer 模块,在使用之前需要先生成一个Sound对象 ,对这个Sound对象进行控制,Sound 对象 的 play() 方法就是播放音效。
Sound对象的方法
方法 | 含义 |
---|---|
play() | 播放音效 |
stop() | 停止播放 |
fadeout() | 淡出 |
set_volume() | 设置音量 |
get_volume() | 获取音量 |
get_num_channels() | 计算该音效播放了多少次 |
get_length() | 获得该音效的长度 |
get_raw() | 将该音效以二进制格式的字符串返回 |
2️⃣背景音乐
使用:pygame.mixer.music
播放背景音乐我们使用 music 模块,music 模块和 mixer 模块是紧密关联的,所以我们用 .mixer.music ,它是在mixer里边的。
music模块方法
方法 | 含义 |
---|---|
load() | 载入音乐 |
play() | 播放音乐 |
rewind() | 重新播放 |
stop() | 停止播放 |
pause() | 暂停播放 |
unpause() | 恢复播放 |
fadeout() | 淡出 |
set_volume() | 设置音量 |
get_volume() | 获取音量 |
get_busy() | 检测音乐流是否正在播放 |
set_pos() | 设置开始播放的位置 |
get_pos() | 获取已经播放的时间 |
queue() | 将音乐文件放入待播放列表中 |
set_endevent() | 在音乐播放完毕时发送事件 |
get_endevent() | 获取音乐播放完毕时发送的事件类型 |
实例
import pygame # 导入pygame资源包
pygame.mixer.init() # 初始化
pygame.mixer.music.load(r'E:\Python_Exercise\123.mp3') # 加载音乐文件
pygame.mixer.music.play() # 开始播放音乐流
# 也可以
music = pygame.mixer.Sound(r'E:\Python_Exercise\123.mp3') # 示例化对象
music.play(-1) # 如果里面为-1,则为循环播放
本文来自博客园,作者:Kenny_LZK,转载请注明原文链接:https://www.cnblogs.com/liuzhongkun/p/15768940.html