gpt4 book ai didi

python - 在 Pygame 中两个正在进行的音乐轨道之间淡入淡出

转载 作者:太空狗 更新时间:2023-10-29 19:25:35 33 4
gpt4 key购买 nike

我的意图是让性质相似的两条音乐轨道在不同时间彼此淡出。当发生这种衰减时,一个音乐轨道应该在短时间内从最大音量衰减到静音,同时,另一首轨道应该从 0 衰减到 100 并继续从同一时间索引。他们必须能够随时动态执行此操作 - 当某个 Action 发生时,淡入淡出将发生并且新轨道将在与其他轨道相同的位置开始播放一个停止于。

这可能通过使用音量控制或通过开始和停止音乐来实现(但是,似乎只有“淡出”选项存在,并且缺少“淡入”选项)。我怎样才能做到这一点?如果有的话,最好的方法是什么?如果无法使用 Pygame,可以接受 Pygame 的替代品

最佳答案

这不完全是问题的答案,但对于 future 的 google 员工,我写了一个脚本来在早上淡入第 0 卷中的音乐,这就是我使用的:

max_volume = 40 
current_volume = 0

# set the volume to the given percent using amixer
def set_volume_to(percent):
subprocess.call(["amixer", "-D", "pulse", "sset", "Master",
str(percent) + "%", "stdout=devnull"])

# play the song and fade in the song to the max_volume
def play_song(song_file):
global current_volume
print("Song starting: " + song_file)
pygame.mixer.music.load(song_file)
pygame.mixer.music.play()

# gradually increase volume to max
while pygame.mixer.music.get_busy():
if current_volume < max_volume:
set_volume_to(current_volume)
current_volume += 1

pygame.time.Clock().tick(1)

play_song("foo.mp3")

关于python - 在 Pygame 中两个正在进行的音乐轨道之间淡入淡出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18733213/

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