Музыкальный проигрыватель - проблема с пропуском песен + пауза и т. Д. - PullRequest
0 голосов
/ 04 декабря 2018

Я делаю программу для музыкального плеера, чтобы попрактиковаться в использовании Tkinter для моего NEA (Alevel Computer Science Project). У меня есть функция случайного воспроизведения в программе, но я не могу найти способ приостановки / пропуска песен.
Пример кода: (Очевидно, я импортировал tkinter, random и winsound, также у меня есть больше песен)

def song1():
    print('song name - song artist')
    winsound.PlaySound(r"song address",winsound.SND_FILENAME)
def shuffle():
    ShuffleButton.grid_remove()
    playlist=list(range(1,NumberOfSongs+1))
    random.shuffle(playlist)
    print(playlist)
    i=int(0)
    while i<=NumberOfSongs:
        if playlist[i]==1:
            song1()
            i=i+1

Кстати, я знаю, что, вероятно, есть гораздо более простой способ сделать музыкальный проигрыватель, но я могу на самом делепонять это так.

1 Ответ

0 голосов
/ 05 декабря 2018

Замените SND_FILENAME на SND_ASYNC, это позволит вам изменить песню во время ее воспроизведения.

При использовании SND_ASYNC необходимо изменить функцию воспроизведения в случайном порядке, чтобы воспроизвести песню - это можно сделать с помощью time.sleep(LengthOfSongInSeconds) под winsound.PlaySound(r"SongAddress",SND_ASYNC), что позволит воспроизвести песнюдо следующего (el)if playlist[i]==x: будет воспроизводить следующую песню в списке.Я знаю, что будет более эффективный способ, позволяющий воспроизвести песню полностью, и я работаю над решением.

...