繁体   English   中英

Python代码可从多个文件夹创建播放列表

[英]Python code to create playlist from multiple folders

这是我对堆栈溢出的第一个问题,如果再次发生,我深感抱歉。 我一直在寻找上个月左右的一些代码,以创建一个随机播放列表,该播放列表每晚使用Python在Raspberry Pi(Raspbian)上运行。 但是没有运气!

播放列表将由2个文件夹中的内容组成。 1个中包含音乐(约200个文件),另1个中包含音乐/广告(5个文件)。 我希望能够创建一个播放列表(m3u格式),该列表可以每天随机播放音乐,但仍然每5首歌曲播放一次广告/铃声。 因此,每天唯一需要重复的是广告/铃声。

我目前正在为音乐播放器运行Kodi,因为我也想要电影。

有没有人可以帮助我呢?

希望这有所帮助。 在音乐播放器上不太确定。 我假设您有一种打开文件并播放它的方法。 今天的播放列表中指示的文件列表可以根据需要进行迭代。

from os import listdir
from os.path import isfile, join
music_file_path = "music"
jingle_file_path = "ads/jingles"
jingle_files = [ f for f in listdir(music_file_path) if isfile(join(music_file_path,f)) ]
music_files = [ f for f in listdir(jingle_files) if isfile(join(jingle_files,f)) ]

music_files.shuffle()
jingle_files.shuffle()

todays_playlist = []
for i in range(len(music_files)):
    todays_playlist.append(music_files[i])
    if i % 5 == 0:
        todays_play_list.append(jingle_files[ (i // 5) % len(jingle_files)])

对于其他想要这样做的人,我发现了使用bash解决它的好方法。 从以下地方得到这个: https : //www.raspberrypi.org/forums/viewtopic.php?f=38&t=63568

#!/bin/bash
if [ -f /home/pi/music.lock ]; then
echo "Lock Exists, exiting"
exit 0
fi
touch /home/pi/music.lock
target="21"
cur=$(date '+%H')
while [ $target != $cur ]
do
cd /home/pi/music
mpg321 "$(ls *.mp3 | shuf -n1)"
mpg321 "$(ls *.mp3 | shuf -n1)"
mpg321 "$(ls *.mp3 | shuf -n1)"
mpg321 "$(ls *.mp3 | shuf -n1)"
mpg321 "$(ls *.mp3 | shuf -n1)"
cd /home/pi/messages
mpg321 "$(ls *.mp3 | shuf -n1)"
cur=$(date '+%H')
done
rm /home/pi/music.lock

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM