Pygame/music

Language.png本文当前翻译进度约为95%。
The current progress of translating this article is approximately 95%。

pygame.mixer.music

用于操作音频流播放的 pygame 模块

このmusicモジュールはpygame.mixerと密接につながっています。musicモジュールを使用することでサウンドミキサーでの音楽の再生を制御できます。

音楽再生と通常の音声再生の違いについてですが、音楽はストリーミング再生なので再生前に一度にファイル全てを読み込むことはありません。 このミキサーでは一度に一つの音楽しか再生することができません。

请注意 MP3 文件的支持受到操作系统的限制,比如 Debian 等 Linux 发行版下不受支持。建议使用压缩率更高的 OGG 格式来取代。

本节原文

pygame.mixer.music.load()

读取要播放的音频文件

pygame.mixer.music.load(filename文件名) → 无

pygame.mixer.music.load(object对象) → 无

使用此方法来读入音频文件名或音频对象,准备播放。有正在播放的音频的场合,停止播放。本命令本身不会播放声音。

pygame.mixer.music.play()

播放读入的音频

pygame.mixer.music.play(loops循环次数=0, start开始=0.0) → 无

播放读入的音频。正在播放的情况下,重新从头播放。

通过设定 loop 参数,可以控制循环次数,需要注意的是,play(5) 实际上会播放6次。play(-1) 则为无限循环。

通过设定 start 参数,可以控制音乐的开始时间。MP3、OGG 文件的情况下、start 参数的单位是毫秒;MOD、XM 文件则为 pattern 号。

如果是不合法的 start 值,则会导致 NotImplementedError未实现错误

pygame.mixer.music.rewind()

重新从头播放当前的音频

pygame.mixer.music.rewind() → 无

pygame.mixer.music.stop()

停止播放

pygame.mixer.music.stop() → 无

pygame.mixer.music.pause()

暂停播放

pygame.mixer.music.pause() → 无

可以调用 pygame.mixer.music.unpause() 恢复播放。

pygame.mixer.music.unpause()

恢复播放暂停的音乐

pygame.mixer.music.unpause() → 无

pygame.mixer.music.fadeout()

淡出正在播放的音乐

pygame.mixer.music.fadeout(time时间) → 无

在 time 设定的时间(毫秒)内淡出并停止正在播放的音乐。

pygame.mixer.music.set_volume()

设定当前音乐的音量

pygame.mixer.music.set_volume(value) → 无

设定当前音乐的音量。value 参数为0.0~1.0之间的值。读入其他音乐时,设定的音量被重置。

pygame.mixer.music.get_volume()

获取音乐音量

pygame.mixer.music.get_volume() → 值

获取当前音乐音量,返回值介于0.0~1.0之间。

pygame.mixer.music.get_busy()

确认当前是否正在播放音乐

pygame.mixer.music.get_busy() → 布尔

如果播放中,返回True,否则返回False

pygame.mixer.music.get_pos()

获取音乐被播放的时间

pygame.mixer.music.get_pos() → 时间

获取音乐被播放的时间,以毫秒为单位。这里获得的值只是单纯的被播放时间,播放开始位置并不会被计入。

pygame.mixer.music.queue()

读入音频文件,作为当前音乐结束后的预备

pygame.mixer.music.queue(filename文件名) → 无

将音频文件读入队列,等待的音乐会在当前音乐自然结束后被播放;如果当前音乐被打断,队列中的音乐不会被播放。

# 以下范例代码会在播放6次 bach.ogg 后播放 mozart.ogg 一次。
pygame.mixer.music.load('bach.ogg')
pygame.mixer.music.play(5)        # 实际上是播放6次
pygame.mixer.music.queue('mozart.ogg')

pygame.mixer.music.set_endevent()

音乐结束时,触发指定的事件

pygame.mixer.music.set_endevent(type类型) → 无

pygame.mixer.music.set_endevent() → 无

音乐结束时,触发指定的 pygame 事件。事件类型由指定的参数决定。

设定的事件并非一次性,而是在音乐播放结束后每回触发,直到通过不带参数调用本方法来解除为止。

pygame.mixer.music.get_endevent()

返回上述事件类型

pygame.mixer.music.get_endevent() → 类型

返回音乐结束时触发的事件的类型。如果未设定,返回 pygame.NOEVENT。

pygame 文档中文翻译
常用ColordisplaydraweventfontimagekeylocalsmixermouseRectSurfacetimemusicpygame
高级cursorsjoystickmaskspritetransformBufferProxyfreetypegfxdrawmidiOverlayPixelArraypixelcopysndarraysurfarraymath
其它cameracdromscraptestssurfarrayversion
链接官网英文文档日文译文