ฉันจำเป็นต้องสร้างโปรแกรมที่จะเล่นไฟล์เสียง และเมื่อผ่านไปครึ่งทางของไฟล์เสียง ไฟล์นั้นก็จะเล่นอีกครั้ง แต่จะไม่ตัดส่วนที่ยังเล่นไม่เสร็จออกไป ดังนั้นไฟล์เดียวกันจะเล่นสองไฟล์ ครั้งพร้อมกันโดยมีเวลาเริ่มต้นต่างกัน
ฉันได้ลองใช้ไลบรารีหลายแห่งเช่น 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,)
Thread
บางทีมันอาจจะฟังดูดีกว่าถ้าคุณไม่ใช้Thread
หรือบางทีมันอาจจะฟังดูไม่ดีเลยเพราะคุณคาดหวังบางสิ่งที่ไม่สามารถทำได้ด้วยวิธีนี้ BTW: ทดสอบบน Linux Mint 19.2, Python 3.7.5, PyGame 1.9.6 - person furas   schedule 07.12.2019