python3的random模块实现随机音乐播放器

houston 829 0

Python3的random模块实现随机音乐播放器

随机播放器是一款较为实用的音乐播放器,其最大特点就是随机播放音乐,让用户每次听到的歌曲都有新鲜感,增加用户的听歌体验。Python3提供了一个很好的解决方案——使用random模块来实现随机音乐播放器。

python3的random模块实现随机音乐播放器

Python3的random模块可以实现随机生成数字、字母等,其核心函数为random(),该函数返回一个0到1之间的随机实数,因此可以通过以下代码来生成一个随机整数:

```

import random

# 生成1~10之间的随机整数

rand_int = random.randint(1, 10)

print(rand_int)

```

而随机音乐播放器的实现则需要两个核心部分:一、遍历文件夹获取音乐列表;二、随机播放音乐。

1. 遍历文件夹获取音乐列表

在Python3中,可以使用os模块来实现对文件夹及其中文件的遍历。遍历代码如下:

```

import os

# 定义音乐文件夹路径

path = ./music

# 存储音乐列表

music_list = []

# 遍历音乐文件夹获取音乐列表

for filename in os.listdir(path):

# 判断文件类型是否是mp3音乐文件

if filename.endswith(.mp3):

# 向音乐列表添加文件路径及文件名

music_list.append(os.path.join(path, filename))

# 打印音乐列表

print(music_list)

```

其中,os.listdir(path)返回的是路径path下的所有文件和目录名,而os.path.join(path, filename)用于将路径和文件名合并成一个完整的文件路径。

2. 随机播放音乐

当获取到音乐列表后,就可以实现随机播放音乐。具体实现方案如下:

```

import random

import vlc

import time

import os

# 定义音乐文件夹路径

path = ./music

# 存储音乐列表

music_list = []

# 遍历音乐文件夹获取音乐列表

for filename in os.listdir(path):

# 判断文件类型是否是mp3音乐文件

if filename.endswith(.mp3):

# 向音乐列表添加文件路径及文件名

music_list.append(os.path.join(path, filename))

# 随机播放音乐

while True:

# 随机取出一首音乐

music_path = random.choice(music_list)

# 播放音乐

instance = vlc.Instance()

player = instance.media_player_new()

media = instance.media_new(music_path)

player.set_media(media)

player.play()

# 获取音乐时长

duration = media.get_duration() / 1000

# 等待音乐播放结束

time.sleep(duration)

# 关闭播放器

player.stop()

player.release()

```

在以上代码中,使用了Python3中的vlc模块来实现音乐播放,而随机播放音乐,则通过random.choice()函数随机从音乐列表中取出一首音乐进行播放。播放过程中,还获取了音乐时长(单位为秒),以便程序可以等待音乐播放完毕。

总结

Python3的random模块非常适合用于随机播放器的实现,只需要掌握好音乐列表的获取、音乐播放和随机选择即可。在实际项目中,还可以对界面等进行细致的优化,实现一款更加完美的随机音乐播放器。