gpt4 book ai didi

python - 如何在正在播放的pygame中获取音乐的位置?

转载 作者:行者123 更新时间:2023-12-04 17:32:40 26 4
gpt4 key购买 nike

我想播放音乐并在播放音乐的几秒钟或几分钟内获得它的位置。我使用了 pygame.mixer.music.get_pos() 但代码不起作用。

def f5secforward():
print(pygame.mixer.music.get_pos())
pygame.mixer.music.play(0,pygame.mixer.music.get_pos()//1000+5)
print(pygame.mixer.music.get_pos())

第一个“get_pos”有效,但在我使用 pygame.mixer.music.play(loop,time) 更改歌曲的当前位置后,它将 get_pos 的值分配给 0

我已经搜索了更多,我刚刚发现 get_pos() 没有在播放音乐的地方获取它只是获取 Python 混音器忙碌的时间。
有什么解决办法吗?

最佳答案

如果您将第一个 get_pos 存储为一个整数(比如“oldsongtime”),然后添加第二个 get_pos 产生的时间(在您的函数中它将接近 0)和您添加的时间(5000),您应该得到合适的时间。

我这么说是因为当我尝试制作自己的快进功能时,轨道有时会比应有的跳得更远。可能与我的 pre_init 不使用默认频率有关(在我使用的所有 PC 上,44,100 Hz 太慢了)。

def f5secforward():
oldsongtime = pygame.mixer.music.get_pos()
change = 5000
print(oldsongtime)
pygame.mixer.music.play(0, (oldsongtime+change)/5000)
addedtime = pygame.mixer.music.get_pos()
print(addedtime)
currenttime = oldsongtime+change+addedtime

return currenttime

关于python - 如何在正在播放的pygame中获取音乐的位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58042274/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com