这是我的fade_out
功能。
def fade_out (snd, fade_length):
new_snd = sound.copy(snd)
factor = 1.0/fade_length
fade_o = 1
for sample in new_snd:
sound.set_left(sample, int(sound.get_left(sample)*fade_o))
sound.set_right(sample, int(sound.get_right(sample)*fade_o))
if fade_o > 0:
fade_o = fade_o - factor
return new_snd
我遇到的第一个问题是这部分:
if fade_o > 0:
fade_o = fade_o - factor
我不明白为什么face_o
只从一次减去。我认为fade_o
将继续被删除,直到达到0。
我遇到的第二个问题是我不知道如何在我想要的时间开始淡出。例如,如果声音长度为600 000且渐弱长度为100 000,我想以500 000(即600 000 - 100 000
)的偏移量开始淡出。我不知道该怎么做。
我想到了以下几点:
for sample in new_snd:
if sound.get_index(sample) > (len(snd)-fade_length):
sound.set_left(sample,........)
但是,这似乎没有用。