pygame之music模块 - 河间老王的博客 - CSDN博客
    Sunday, October 28, 2018
    1:59 PM

    pygame之music模块
    2018年08月12日 22:18:49 河间老王 阅读数:180 标签: pygame pygame.mixer.music 更多
    个人分类: python
    所属专栏: pygame中文教程
    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Lingdongtianxia/article/details/81611775
    pygame.mixer.music音频相关的pygame模块
    pygame.mixer.music.load—加载一个用于播放的音乐文件
    pygame.mixer.music.play—开始播放音乐流
    pygame.mixer.music.rewind—重新启动音乐
    pygame.mixer.music.stop—停止播放音乐
    pygame.mixer.music.pause—暂停音乐播放
    pygame.mixer.music.unpause—恢复暂停的音乐
    pygame.mixer.music.fadeout—在淡出后停止播放音乐
    pygame.mixer.music.set_volume—设置音量
    pygame.mixer.music.get_volume—获取音乐音量
    pygame.mixer.music.get_busy—检查音乐流是否在播放
    pygame.mixer.music.set_pos—设置的位置
    pygame.mixer.music.get_pos—获得音乐播放时间
    pygame.mixer.music.queue—队列一个音乐文件以跟随当前
    pygame.mixer.music.set_endevent—当播放停止时,音乐会发送一个事件
    pygame.mixer.music.get_endevent—当播放停止时,获取一个通道发送的事件
    music是pygame中控制流音频的pygame模块,音乐模块与pygame.mixer紧密相连,用于加载和播放声音的pygame.mixer模块,使用音乐模块控制在混音器中播放音乐。音乐播放和常规的声音回放之间的区别在于,音乐是流媒体播放的,而且从来没有真正加载过。混音器系统只支持一次单一的音乐流。请注意,MP3支持是有限的。在某些系统上,不支持的格式可能会破坏程序,例如Debian Linux。考虑使用OGG。
    pygame.mixer.music.load() 加载一个播放音乐的文件
    load(filename) -> None
    load(object) -> None
    这将加载一个音乐文件名/文件对象并准备播放。如果一个音乐流已经播放,它就会被停止。这并不是音乐的开始。
    pygame.mixer.music.play() 开始播放音乐流
    play(loops=0, start=0.0) -> None
    这将播放载入的音乐流。如果音乐已经播放,它就会重新启动。
    循环参数控制音乐播放的次数。播放(5)将使音乐播放一次,然后重复5次,总共是6次。如果循环是-1,那么音乐就会无限重复。
    起始位置的参数控制着歌曲开始播放的地方。起始位置取决于音乐演奏的格式。MP3和OGG以时间为单位(以秒为单位)。MOD音乐是模式的序号。如果不能设置起始位置,通过一个startpos将会抛出一个NotImplementedError。
    pygame.mixer.music.rewind() 重新启动音乐
    rewind() -> None
    将当前音乐的播放重新设置为一开始
    pygame.mixer.music.stop() 停止音乐播放
    stop() -> None
    如果当前播放音乐,停止播放音乐。
    pygame.mixer.music.pause() 暂时停止音乐播放
    pause() -> None
    暂时停止播放音乐流。它可以用pygame.mixer.music.unpause()函数恢复。
    pygame.mixer.music.unpause() 恢复暂停音乐
    unpause() -> None
    这将在暂停之后重新播放音乐流。
    pygame.mixer.music.fadeout() 在淡出后停止播放音乐
    fadeout(time) -> None
    这将在指定的时间(以毫秒为单位)消失后停止播放音乐。请注意,此函数将阻塞,直到音乐淡出。
    pygame.mixer.music.set_volume() 调节音乐音量
    set_volume(value) -> None
    设置音乐播放的音量。值参数在0.0和1.0之间。当加载新音乐时,音量就会重置。
    pygame.mixer.music.get_volume() 得到音乐音量
    get_volume() -> value
    返回混合器的当前音量。值将在0.0和1.0之间。
    pygame.mixer.music.get_busy() 检查音乐流是否在播放
    get_busy() -> bool
    当音乐流在积极播放时,就会返回True。当音乐空闲时,返回False
    pygame.mixer.music.set_pos() 设定播放位置(在pygame 1.9.2中更新)
    set_pos(pos) -> None
    这将在播放播放的音乐文件中设置位置。“pos”的含义,一个浮点数(或一个可以转换为浮点数的数字),取决于音乐的格式。对于MOD文件,它是模块中的整数模式号。从声音的开始,在几秒钟内,就会得到绝对的位置。对于MP3文件,它是相对位置,在几秒内,从当前位置。对于MP3文件中的绝对定位,首先调用rewind()。其他文件格式是不支持的。更新版本的sdl混音版本比以前更有定位支持。如果某个特定格式不支持定位,则会提高一个SDLError。这将在播放播放的音乐文件中设置位置。“pos”的含义,一个浮点数(或一个可以转换为浮点数的数字),取决于音乐的格式。对于MOD文件,它是模块中的整数模式号。从声音的开始,在几秒钟内,就会得到绝对的位置。对于MP3文件,它是相对位置,在几秒内,从当前位置。对于MP3文件中的绝对定位,首先调用后退()。其他文件格式是不支持的。更新版本的sdl混音版本比以前更有定位支持。如果某个特定格式不支持定位,则会提高一个SDLError。
    pygame.mixer.music.get_pos() 获得音乐播放时间
    get_pos() -> time
    这就得到了音乐一直在播放的毫秒数。返回的时间只代表了音乐播放的时间;它没有考虑任何起始位置偏移量。
    pygame.mixer.music.queue() 按当前的格式排队一个音乐文件,下一首播放
    queue(filename) -> None
    这将加载一个音乐文件并对其进行排队。当当前的音乐自然结束时,一个排队的音乐文件就会开始。如果当前的音乐停止或改变,排队的歌就会消失。
    下面的例子将演奏巴赫的音乐六次,然后演奏莫扎特的音乐:
    1
    pygame.mixer.music.load(‘bach.ogg’)
    2
    3
    pygame.mixer.music.play(5)
    4
    5
    pygame.mixer.music.queue(‘mozart.ogg’)
    pygame.mixer.music.set_endevent() 当播放停止时,音乐会发送一个事件
    set_endevent() -> None
    set_endevent(type) -> None
    这使得pygame在播放音乐时发出信号(通过事件队列的方式)。参数确定将要排队的事件的类型。
    每次音乐结束时,这个事件都会被排队,而不仅仅是第一次。为了防止事件被排队,请调用这个方法,没有参数。
    pygame.mixer.music.get_endevent() 当播放停止时,获取一个通道发送的事件
    get_endevent() -> type
    返回每次音乐结束播放时发送的事件类型。如果没有endevent,函数将返回pygame.NOEVENT。
    已使用 Microsoft OneNote 2016 创建。