【问题标题】:How to start music at a specific second in Pygame如何在 Pygame 中的特定秒开始播放音乐
【发布时间】:2023-04-08 21:31:02
【问题描述】:

我正在查看 API:

http://www.pygame.org/docs/ref/music.html#pygame.mixer.music.play

它说我可以从某个位置开始播放歌曲。但是,发生了 2 件事中的 1 件事。歌曲要么从一开始就正常播放,要么播放起来非常模糊。我也不确定为什么我会出现不一致的结果。

pygame.mixer.music.load("music/Glorious Morning 2.mp3")
#pygame.mixer.music.set_pos(52.0)#this won't work either
pygame.mixer.music.play(-1, 52.0)

我不确定为什么它不起作用。难道我做错了什么?还有其他方法可以在特定的时间开始播放音乐吗?

【问题讨论】:

  • 使用Python 2.7.6pygame 1.9.1 对我来说效果很好
  • 我回家后必须检查一下我有哪些版本。您使用的是什么操作系统?我有 Windows 8
  • @starrify 我的 Python 版本是 2.7.3 (default, Apr 10 2012, 23:24:47) [MSC v.1500 64 bit (AMD64)]。我不确定如何检查我的 Pygame 版本。
  • 我刚刚更新了 Python 和 Pygame,它工作了!谢谢你。您可以将其作为解决方案发布,我会检查它
  • 抱歉我的回复晚了。嗯,很高兴看到你的问题得到解决。我提供的不是答案,只是提示,是你解决了问题。您可以自己发布答案并接受它。 :D

标签: python pygame mixer


【解决方案1】:

这是在 Windows 10 和 Android 上测试的有效 sn-p。请注意,音乐文件是 mp3!

import pygame.mixer

#SOUND_FILE = 'c:/temp/JMJ.mp3'
SOUND_FILE = '/storage/emulated/0/music/JMJ.mp3'

pygame.mixer.pre_init(44100, -16, 2, 2048)
pygame.mixer.init()

pygame.mixer.music.load(SOUND_FILE)
pygame.mixer.music.play(loops=0, start=1626) # 1626 seconds from beginning

while pygame.mixer.music.get_busy():
    pygame.event.wait()

【讨论】:

    【解决方案2】:

    我的 Python 版本是 2.7.3 (default, Apr 10 2012, 23:24:47) [MSC v.1500 64 bit (AMD64)]。我不确定 Pygame 版本是什么,但我刚刚更新了 Python 和 Pygame 并且它有效!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-27
      • 1970-01-01
      • 1970-01-01
      • 2014-06-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多