2

Pygame 中的和类之间的主要区别是什么?SoundMusic

  • 各有什么限制?
  • 在什么情况下会使用其中一种?以不直观的方式使用它们是否有好处,例如使用Sound对象播放音乐文件或反之亦然?
  • 频道限制是否存在特别问题,是否有可能不可靠地从其频道中删除一个或两个?
  • 演奏音乐的风险是Sound什么?
4

2 回答 2

4

主要来自两个文档页面。

  • 使用音乐模块控制混音器中音乐的播放。
  • 音乐播放和常规声音播放是音乐是流式传输的,并且从未真正一次加载。
  • 混音器系统一次只支持一个音乐流
  • 混音器可以保留频道,声音不会自动使用
  • Sounds 自动使用可用频道
  • 如果您可能播放多个副本,我认为也会使用声音。两次枪声可能会延迟播放,但仍然重叠。音乐通常只使用一个实例。

请参阅:pygame.mixer.Channelpygame.mixer.Soundpygame.mixer.music

于 2013-10-22T00:44:38.413 回答
3

据我了解,这些是主要区别:

音乐:

  • 一次播放一个文件
  • 在播放列表中排列多个文件
  • 更好地控制这一流:暂停、倒带、设置结束事件
  • 获取更多信息:获取当前位置,获取 endevents

声音:

  • 播放任意数量的文件
  • 尽可能多地播放您加载的每个文件
  • 每次播放声音时,它都会选择一个Channel播放。这可能会阻止另一个Sound播放

因此,该Music对象确实最适合播放长音乐文件,因为您可以更好地控制它。

Sound对象最适合播放短声音文件,例如步行声或枪声。

但是,如果您想同时播放多个音乐文件,则必须使用Sound. 我看不出播放声音有什么好处Music,除非你想暂停它。

于 2013-11-11T14:08:51.913 回答