我想循环播放音乐

时间:2019-07-27 23:26:14

标签: python ios pythonista

我用Pythonista做音乐播放器。单个mp3文件可以正常播放,但是如果我播放多个mp3文件,它们都可以同时播放。

有人知道吗?

这是我的代码:

import sound
import time
import glob

fileList = glob.glob("i7/*") #my folder

playerlist = []
for file in fileList:
    filename = file 
    sound.set_honors_silent_switch(False)
    sound.set_volume(1)

    player = sound.Player(filename) 
    playerlist.append(player)

for playerMin in playerlist:
    playerMin.play() #same time

1 个答案:

答案 0 :(得分:0)

docs中,Player.play()只是“开始播放音频”。如果要连续播放该歌曲,则必须等待播放一首歌曲,直到上一首歌曲结束为止,因为play直到完成播放后才会阻塞主线程。

尝试一下:

import sound
import time

### Setup ###
sound.set_honors_silent_switch(False)
sound.set_volume(1)

### You populate this ###
files = [...] 

### Play songs in order ###
for filename in files:
    player = sound.Player(filename) 
    player.play()
    time.sleep(player.duration) # this is the key part –– makes the loop wait to play the next song until this song is done playing
    player.stop()

此方法超级灵活。例如,如果要在歌曲之间淡入淡出,可以在使循环sleep少于歌曲持续时间的同时增大音量。这变得更加复杂,但是从根本上是这样完成的。