我需要做一个程序,其中一个音频文件将播放和中途的音频文件的持续时间将再次播放,但它不会切断一个还没有完成,所以同一个文件将播放两次在同一时间只是不同的开始时间
我试过使用多个库,比如pygame、winsound和pyglet,但据我所知,它们都不允许这样做。你知道吗
编辑:我再次尝试使用pygame,但听起来不对。我想是因为pygame耽搁了
import pygame
import time
import threading
pygame.mixer.pre_init(frequency=44100)
pygame.mixer.init()
sound1 = pygame.mixer.Sound("Assets\\Blip.wav")
sound2 = pygame.mixer.Sound("Assets\\Blip.wav")
print(sound1.get_length())
half = 0.141/2
def play(ch,sound):
pygame.mixer.Channel(ch).play(sound,loops=-1)
time.sleep(5)
t1 = threading.Thread(target=play,args=(0,sound1,))
t1.start()
time.sleep(half)
play(1,sound2,)
simpleaudio支持音频的并发播放。我们使用pydub来方便地访问音频段长度(尽管您可以通过一些努力从简单的音频中获得相同的长度)。pydub还可以使用pydub.playback._play_with_simpleaudio()播放简单的音频(这使我们可以同时播放),这使得代码更容易。你知道吗
这是一个有效的例子。我拿了两个不同的音频文件来检查/说明第二个音频段是在第一个音频段完成一半之后开始的。你知道吗
相关问题 更多 >
编程相关推荐